日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

让人郁闷的“DesktopCompatible”

發(fā)布時(shí)間:2023/12/31 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 让人郁闷的“DesktopCompatible” 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
最近用C#做Mobile上系統(tǒng)開(kāi)發(fā)的時(shí)候,總被一個(gè)小問(wèn)題困擾。我先簡(jiǎn)單描述一下。
(開(kāi)發(fā)環(huán)境:Win7,?VS2008,?CHS?Mobile?6?Emulator,?.NET?Compact?2.0)

?1.?在項(xiàng)目中添加“用戶控件“(假設(shè)使用默認(rèn)名”UserControl1“);
?2.?在項(xiàng)目?jī)?nèi)的任意一個(gè)地方添加一個(gè)“DllImport”指令;例如下面兩行:
????[DllImport("coredll.dll")]
????public?static?extern?IntPtr?SendMessage(IntPtr?hWnd,?uint?Msg,?IntPtr?wParam,?IntPtr?lParam);
?3.?編譯項(xiàng)目;
?4.?打開(kāi)主窗體設(shè)計(jì)器,在“工具箱”中找到剛剛添加的“UserControl1”(一般在工具箱的頂部);
?5.?把工具箱中的“UserControl1”添加入窗體(Form)內(nèi)。

正常情況下,你應(yīng)該可以在窗體內(nèi)看到“UserControl1”的界面,
然而不幸的是,這個(gè)界面內(nèi)只居中顯示一個(gè)用戶控件的名稱
(比如“SmartDeviceProject1.UserControl1”等).
這是一件讓人很不解的事情,也讓俺很煩心!

通常我們可能會(huì)希望能夠在設(shè)計(jì)階段直接看到“UserControl1”的實(shí)際界面,而不只是一個(gè)“占位符”。
因?yàn)槲覀兛赡軙?huì)對(duì)“UserControl1”的背景進(jìn)行貼圖,我們也可能會(huì)使用代碼限制它的顯示尺寸等等。
可是“占位符”只帶來(lái)一種信息:我就在這里了……

我試圖搜索相關(guān)問(wèn)題的解決辦法,來(lái)改變我所遇到的這種煩心事。可總是找不到太合適的資料。
最讓人惱火的事還有,就是我不知道如何來(lái)描述這種現(xiàn)象!

不過(guò),最后我還是通過(guò)一定的努力找到一種讓人信服的說(shuō)法和解決辦法。
那是在來(lái)自MSDN的示例代碼中,我通過(guò)比對(duì)他們對(duì)“控件繼承物”的處理策略,終于找到了一個(gè)
名為“DesktopCompatible”的,讓我摸不到邊的屬性:把它設(shè)置成“true”就可以啦!

和我一樣不太懂的朋友可能對(duì)我剛才那種模糊不全的說(shuō)法很惱火。不過(guò),請(qǐng)先不要著急,聽(tīng)我慢慢道來(lái)。

喜歡使用搜索引擎的人可能已經(jīng)對(duì)“DesktopCompatible”展開(kāi)大規(guī)模的搜索了。
嗯,這是很不錯(cuò)的。因?yàn)槲蚁旅鎸⒁f(shuō)的話,也基本來(lái)自于那引些“玩意兒”。


這又在微軟搞的“技術(shù)”,貌似是在VS2005的時(shí)候新加入的。同時(shí)加入的新玩意兒還有“Class?Designer”
(我在這里姑且叫它的“類設(shè)計(jì)器”吧),相對(duì)于“Form?Designer”(窗體設(shè)計(jì)器),等玩意兒。
當(dāng)然,類似的新意兒還不少,不過(guò)我并不打算在這里開(kāi)展新事物表彰大會(huì),因此就點(diǎn)到為止吧。


在一篇名為“Creating?and?Migrating?Smart?Device?Custom?Controls?by?Using?Visual?Studio?2005”的文章
(來(lái)自于MSDN,發(fā)布于:April?2006)的文章里,我找到一些可以解釋一點(diǎn)我的困惑的技術(shù)細(xì)節(jié),
相信可對(duì)于想要更多了解使用“DesktopCompatible”屬性的理由的您,也能起到一點(diǎn)解惑答疑的功效。呵呵。

下面是我參考過(guò)的文章:

DesktopCompatible(True)?-?Inherited?Controls
http://social.msdn.microsoft.com/Forums/en-US/netfxcompact/thread/c8ea41e6-5012-4e7c-9e18-e158d8eb6620/

Creating?and?Migrating?Smart?Device?Custom?Controls?by?Using?Visual?Studio?2005
http://msdn.microsoft.com/en-us/library/aa446500.aspx


-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
一句話總結(jié)
-----------
要解決我最前面描述的那種現(xiàn)象,只需要在你的工程中加入一個(gè)包含下面?6?行?內(nèi)容的.xmta文件。
<?xml?version="1.0"?encoding="utf-16"?>
<Classes?xmlns="http://schemas.microsoft.com/VisualStudio/2004/03/SmartDevices/XMTA.xsd">
??<Class?Name="SmartDeviceProject1.UserControl1">
????<DesktopCompatible>true</DesktopCompatible>
??</Class>
</Classes>


總結(jié)

以上是生活随笔為你收集整理的让人郁闷的“DesktopCompatible”的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。