锘??xml version="1.0" encoding="utf-8" standalone="yes"?>国产一区二区精品久久99,免费观看一区,国产亚洲欧美一区二区三区http://m.shnenglu.com/xingmuxixi/zh-cnWed, 24 Sep 2025 05:06:29 GMTWed, 24 Sep 2025 05:06:29 GMT60Hibernate鎻掑叆鍜屼慨鏀規暟鎹埌鏁版嵁搴撲腑鏃朵笉淇敼瀛樺湪榛樿鍊煎瓧孌礫杞琞http://m.shnenglu.com/xingmuxixi/archive/2013/03/29/198909.html閱掔洰瑗胯タ閱掔洰瑗胯タFri, 29 Mar 2013 02:07:00 GMThttp://m.shnenglu.com/xingmuxixi/archive/2013/03/29/198909.htmlhttp://m.shnenglu.com/xingmuxixi/comments/198909.htmlhttp://m.shnenglu.com/xingmuxixi/archive/2013/03/29/198909.html#Feedback0http://m.shnenglu.com/xingmuxixi/comments/commentRss/198909.htmlhttp://m.shnenglu.com/xingmuxixi/services/trackbacks/198909.html璇存槑錛?/p>

浠婂ぉ鍦ㄥ仛涓涓狾A鐨勭畝鍗曞鍒犻櫎璇ユ煡鐨勬椂鍊欙紝鏈変竴涓椂闂寸被鍨嬬殑瀛楁錛堟暟鎹彃鍏ユ椂闂達級錛屾湰韜兂鐫錛岃繖涓瓧孌電洿鎺ヤ腑Oracle鏁版嵁搴撹緗竴涓狣efault Value 錛屽氨涓嶇敤鍐嶅墠鍙癷nstall榪欎釜瀛楁鐨勫間簡錛屼絾鏄悗鏃墮棿鎿嶄綔涓彂鐜版彃鍏ョ殑鏃跺欏鏋滀笉閫氳繃hql鍘誨啓浠g爜鐨勮瘽錛岃屾槸閫氳繃hibernate鐨勬帴鍙etHibernateTemplate().saveOrUpdate(entity);鐨勮瘽錛屽氨鍑虹幇闂錛屾彃鍏ョ殑鏃墮棿綾誨瀷瀛楁鐨勫兼槸null錛宼md鏈夌偣閮侀椃錛屼笉濂芥剰鎬濆張璇磋剰璇濅簡錛屼篃鏄綋鏃跺ご鏈夌偣鏄忥紝鍛靛懙銆傚悗鏉ワ紝涓鎯沖鏋滈氳繃getHibernateTemplate().saveOrUpdate(entity);榪欎釜鍊熷彛錛屽鏋滄病鏈夎緗鹼紝閭d箞灝變細璁劇疆null錛屾墍鏈夊嚭鐜頒簡榪欎釜闂銆傛煡鐪嬩簡涓媓ibernate鐨勬帴鍙f枃妗o紝涓鐪嬶紝鍘熸潵鏄繖鏍風殑銆?/p>

闇瑕佹坊鍔犱笅闈㈢殑鍙傛暟鍦?.hbm.xml涓璫lass鑺傜偣璁劇疆錛屽涓?/p>

涓鏄皢dynamic-insert璁劇疆涓簍rue

浜屾槸灝嗗搴斿瓧孌電殑灞炴ц緗畁ot-null涓篺alse

<hibernate-mapping>
<class name="com.tom.hibernate.xxxx" table="xxx schema="xxx" dynamic-insert="true" dynamic-update="true">

<property name="entryDate" type="java.util.Date">
<column name="ENTRY_DATE" length="7" not-null="false"/>
</property>

鐢ㄦ嬁鏉ヤ富涔夛級璐磋繃鏉ヤ竴涓繖涓帴鍙h鏄庯細

涓嬮潰鏄湁鍏沖叾瀹冮厤緗殑璇存槑

Hibernate鍏佽鎴戜滑鍦ㄦ槧灝勬枃浠墮噷鎺у埗insert鍜寀pdate璇彞鐨勫唴瀹?姣斿鍦ㄦ槧灝勬枃浠朵腑<property 鍏冪礌涓殑update灞炴ц緗垚涓篺alse,閭d箞榪欎釜瀛楁,灝嗕笉琚寘鎷湪鍩烘湰鐨剈pdate璇彞涓?淇敼鐨勬椂鍊?灝嗕笉鍖呮嫭榪欎釜瀛楁浜?insert鍚岀悊.dynamic鍔ㄦ丼QL璇彞鐨勯厤緗篃鏄緢甯哥敤鐨?涓嬮潰浠嬬粛閰嶇疆SQL璇彞鐨勫叿浣撳睘鎬?
1)<property>鍏冪礌 insert灞炴?璁劇疆涓篺alse,鍦╥nsert璇彞涓笉鍖呭惈榪欎釜瀛楁,琛ㄧず姘歌繙涓嶄細琚彃鍏?榛樿true
2)<property>鍏冪礌 update灞炴?璁劇疆涓篺alse,鍦╱pdate璇彞涓笉鍖呭惈榪欎釜瀛楁,琛ㄧず姘歌繙涓嶄細琚慨鏀?榛樿true
3)<class>鍏冪礌 mutable灞炴?璁劇疆涓篺alse灝辨槸鎶婃墍鏈夌殑<property>鍏冪礌鐨剈pdate灞炴ц緗負浜唂alse,璇存槑榪欎釜瀵硅薄涓嶄細琚洿鏂?榛樿true
4)<property>鍏冪礌 dynamic-insert灞炴?璁劇疆涓簍rue,琛ㄧずinsert瀵硅薄鐨勬椂鍊?鐢熸垚鍔ㄦ佺殑insert璇彞,濡傛灉榪欎釜瀛楁鐨勫兼槸null灝變笉浼氬姞鍏ュ埌insert璇彞褰撲腑.榛樿false
5)<property>鍏冪礌 dynamic-update灞炴?璁劇疆涓簍rue,琛ㄧずupdate瀵硅薄鐨勬椂鍊?鐢熸垚鍔ㄦ佺殑update璇彞,濡傛灉榪欎釜瀛楁鐨勫兼槸null灝變笉浼氳鍔犲叆鍒皍pdate璇彞涓?榛樿false
6)<class>鍏冪礌 dynamic-insert灞炴?璁劇疆涓簍rue,琛ㄧず鎶婃墍鏈夌殑<property>鍏冪礌鐨刣ynamic-insert灞炴ц緗負true,榛樿false
7)<class>鍏冪礌 dynamic-update灞炴?璁劇疆涓簍rue,琛ㄧず鎶婃墍鏈夌殑<property>鍏冪礌鐨刣ynamic-update灞炴ц緗負true,榛樿false

Hibernate鐢熸垚鍔ㄦ丼QL璇彞鐨勬秷鑰楃殑緋葷粺璧勬簮(姣斿CPU,鍐呭瓨絳?鏄緢灝忕殑,鎵浠ヤ笉浼氬獎鍝嶅埌緋葷粺鐨勬ц兘,濡傛灉琛ㄤ腑鍖呭惈N澶氬瓧孌?寤鴻鎶奷ynamic-update灞炴у拰insert灞炴ц緗負true,榪欐牱鍦ㄦ彃鍏ュ拰淇敼鏁版嵁鐨勬椂鍊?璇彞涓彧鍖呮嫭瑕佹彃鍏ユ垨鑰呬慨鏀圭殑瀛楁.鍙互鑺傜渷SQL璇彞鐨勬墽琛屾椂闂?鎻愰珮紼嬪簭鐨勮繍琛屾晥鐜?

鍙﹀涓縐嶅仛娉曡鐪嬪涓嬮厤緗細

Hibernate <property>閰嶇疆

<property name="name" unique="true" not-null="true" update="false" length="25"/>

<property>鍏冪礌 insert灞炴э細璁劇疆涓篺alse錛屽湪insert璇彞涓笉鍖呭惈榪欎釜瀛楁錛岃〃紺烘案榪滀笉浼氳鎻掑叆銆傞粯璁rue銆?br />
<property>鍏冪礌 update灞炴э細璁劇疆涓篺alse錛屽湪update璇彞涓笉鍖呭惈榪欎釜瀛楁錛岃〃紺烘案榪滀笉浼氳淇敼銆傞粯璁rue銆?/span>

<class>鍏冪礌 mutable灞炴э細璁劇疆涓篺alse錛屽氨鏄妸鎵鏈夌殑<property>鍏冪礌鐨剈pdate灞炴ц緗負浜唂alse錛岃鏄庤繖涓璞′笉浼氳鏇存柊銆傞粯璁rue銆?br />
<property>鍏冪礌 dynamic-insert灞炴э細璁劇疆涓簍rue錛岃〃紺篿nsert瀵硅薄鐨勬椂鍊欙紝鐢熸垚鍔ㄦ佺殑insert璇彞錛屽鏋滆繖涓瓧孌電殑鍊兼槸null灝變笉浼氬姞鍏ュ埌insert璇彞褰撲腑銆傞粯璁alse 

<property>鍏冪礌 dynamic-update灞炴э細璁劇疆涓簍rue錛岃〃紺簎pdate瀵硅薄鐨勬椂鍊欙紝鐢熸垚鍔ㄦ佺殑update璇彞錛屽鏋滆繖涓瓧孌電殑鍊兼槸null灝變笉浼氳鍔犲叆鍒皍pdate璇彞涓傞粯璁alse 

<class>鍏冪礌 dynamic-insert灞炴э細璁劇疆涓簍rue錛岃〃紺烘妸鎵鏈夌殑<property>鍏冪礌鐨刣ynamic-insert灞炴ц緗負true銆傞粯璁alse 

<class>鍏冪礌 dynamic-update灞炴э細璁劇疆涓簍rue錛岃〃紺烘妸鎵鏈夌殑<property>鍏冪礌鐨刣ynamic-update灞炴ц緗負true銆傞粯璁alse

dynamic-update錛屽鏋滀竴涓〃瀛楁姣旇緝澶氾紝騫朵笖緇忓父鍙槸鏇存柊涓鏉¤褰曠殑涓涓や釜瀛楁錛岄伩鍏嶄簡榪囧鏃犵敤鐨剆ql璇彞錛屽姩鎬佹洿鏂頒細鏇存湁鏁堛傚簲鐢ㄧ▼搴忎細澧炲姞宸ヤ綔閲忥紝浣嗘槸鏁版嵁搴撲細鍑忓皯宸ヤ綔閲忋傚湪鎻掑叆鍜屼慨鏀規暟鎹殑鏃跺欙紝璇彞涓彧鍖呮嫭瑕佹彃鍏ユ垨鑰呬慨鏀圭殑瀛楁錛屽彲浠ヨ妭鐪丼QL璇彞鐨勬墽琛屾椂闂達紝鎻愰珮紼嬪簭鐨勮繍琛屾晥鐜囥?/div>

]]>C#鑷姩瀹炵幇Dll(OCX)鎺т歡娉ㄥ唽鐨勪袱縐嶆柟娉?/title><link>http://m.shnenglu.com/xingmuxixi/archive/2011/05/10/146134.html</link><dc:creator>閱掔洰瑗胯タ</dc:creator><author>閱掔洰瑗胯タ</author><pubDate>Tue, 10 May 2011 11:56:00 GMT</pubDate><guid>http://m.shnenglu.com/xingmuxixi/archive/2011/05/10/146134.html</guid><wfw:comment>http://m.shnenglu.com/xingmuxixi/comments/146134.html</wfw:comment><comments>http://m.shnenglu.com/xingmuxixi/archive/2011/05/10/146134.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/xingmuxixi/comments/commentRss/146134.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/xingmuxixi/services/trackbacks/146134.html</trackback:ping><description><![CDATA[<p>灝界MS涓烘垜浠彁渚涗簡涓板瘜鐨?net framework搴擄紝鎴戜滑鐨勭▼搴廋#寮鍙戝甫鏉ヤ簡鏋佸ぇ鐨勪究鍒╋紝浣嗘槸鏈夋椂鍊欙紝涓浜涚壒瀹氬姛鑳界殑鎺т歡搴撹繕鏄渶瑕佺敱絎笁鏂規彁渚涙垨鏄嚜宸辯紪鍐欍?br>褰撻渶瑕佺敤鍒癉ll寮曠敤鐨勬椂鍊欙紝鎴戜滑閫氬父浼氶氳繃“娣誨姞寮曠敤”鐨勬柟寮忓皢瀹冧滑綰沖叆鍒伴」鐩腑錛岀劧鍚庡氨鍙互鍍忎嬌鐢ㄨ嚜宸辯殑綾諱竴鏍鋒柟渚跨殑浣跨敤瀹冧滑浜嗐?br>浣嗘槸錛屾湁浜汥ll搴?OCX)鏂囦歡鏄渶瑕佹敞鍐屽埌Windows娉ㄥ唽琛ㄥ悗鎵嶈兘姝e父娣誨姞鍜屼嬌鐢ㄧ殑銆?/p> <p>鏈枃浠嬬粛涓ょ涓篋ll搴?OCX)鑷姩娉ㄥ唽鐨勬柟娉曪紝涓哄ぇ瀹舵彁渚涘弬鑰冦?/p> <p>棣栧厛錛屽ぇ瀹墮兘鐭ラ亾鍦╓indows鐨?#8220;榪愯”涓紝杈撳叆“Regsvr32.exe 璺緞”榪欐牱鐨勬柟娉曟潵鎵嬪姩娉ㄥ唽Dll鎺т歡(OCX)錛屾樉紺鴻繖縐嶆柟娉曞浜庣▼搴忕殑鑷姩鍖栭儴緗茬瓑甯︽潵鏋佸ぇ鐨勪笉渚匡紝<br>鍥犳錛屼粖澶╂垜浠潃閲嶄粙緇嶅浣曠敤C#瀹炵幇鑷姩娉ㄥ唽銆?/p> <p>鏂規硶涓錛氳皟鐢≧egsvr32娉?/p> <p>鏃㈢劧鍙互鍦ㄨ繍琛屾爮涓緭鍏?#8220;Regsvr32.exe 璺緞”鐨勬柟娉曟潵娉ㄥ唽錛岄偅涔堬紝涓瀹氬彲浠ュ湪C#紼嬪簭涓噰鐢ㄥ悓鏍風殑鏂規硶鏉ヨ皟鐢≧egsvr32錛屼互瀹炵幇娉ㄥ唽錛?/p> <p>Process p = new Process();<br>p.StartInfo.FileName = "Regsvr32.exe";<br>p.StartInfo.Arguments = "/s C:\\DllTest.dll";//璺緞涓笉鑳芥湁絀烘牸<br>p.Start();<br>閲囩敤榪欑鏂規硶錛屾敞鎰忚娣誨姞瀵瑰懡鍚嶇┖闂碨ystem.Diagnostics鐨勫紩鐢細using System.Diagnostics;<br>鍙﹀錛岃繖縐嶆柟娉曟湁涓涓笉瓚充箣澶勶紝閭e氨鏄敞鍐屽伐浣滄槸鍦ㄦ湰紼嬪簭涔嬪鐢盧egsvr32.exe紼嬪簭鏉ュ畬鎴愮殑錛岀郴緇熷唴涓嶆柟渚跨煡閬撴敞鍐岀殑緇撴灉錛屼篃涓嶆柟渚垮娉ㄥ唽榪囩▼寮瑰嚭鐨勫璇濇榪涜鑷畾涔夊拰鎺у埗銆?br>榪欓噷闄凴egsvr32鐨勫弬鏁拌鏄庯細(鎰熻阿緗戝弸浼嶅崕鑱殑鎻愰啋)</p> <p>regsvr32.exe鏄?2浣嶇郴緇熶笅浣跨敤鐨凞LL娉ㄥ唽鍜屽弽娉ㄥ唽宸ュ叿錛屼嬌鐢ㄥ畠蹇呴』閫氳繃鍛戒護琛岀殑鏂瑰紡浣跨敤錛屾牸寮忔槸錛?/p> <p>銆銆regsvr32 [/u] [/s] [/n] [/i[:cmdline]] DLL鏂囦歡鍚?/p> <p>銆銆鍛戒護鍙互鍦?#8220;寮濮?#8594;榪愯”鐨勬枃鏈涓紝涔熷彲浠ヤ簨鍏堝湪bat鎵瑰鐞嗘枃妗d腑緙栧啓濂藉懡浠ゃ傛湭甯︿換浣曞弬鏁版槸娉ㄥ唽DLL鏂囦歡鍔熻兘錛屽叾瀹冨弬鏁板搴斿姛鑳藉涓嬶細</p> <p>銆銆/u錛氬弽娉ㄥ唽DLL鏂囦歡;</p> <p>銆銆/s錛氬畨闈欐ā寮?Silent)鎵ц鍛戒護錛屽嵆鍦ㄦ垚鍔熸敞鍐?鍙嶆敞鍐孌LL鏂囦歡鍓嶆彁涓嬩笉鏄劇ず緇撴灉鎻愮ず妗嗐?/p> <p>銆銆/c錛氭帶鍒剁鍙?</p> <p>銆銆/i錛氬湪浣跨敤/u鍙嶆敞鍐屾椂璋冪敤DllInstall;</p> <p>銆銆/n錛氫笉璋冪敤DllRegisterServer錛屽繀欏諱笌/i榪炵敤銆?/p> <p> </p> <p>鏂規硶浜岋細璋冪敤DllRegisterServer鍑芥暟娉?/p> <p> 鐮旂┒Regsvr32.exe鍜孌ll鏂囦歡錛屾垜浠細鍙戠幇錛屽叾瀹炴瘡涓渶瑕佹敞鍐岀殑鏂囦歡閮藉寘鎷竴涓狣llRegisterServer()鏂規硶錛孯egsvr32.exe灝辨槸閫氳繃璋冪敤璇ユ柟娉曟潵瀹屾垚Dll鐨勬敞鍐岀殑銆?br>鐭ラ亾浜嗚繖涓紝鎴戜滑灝卞彲浠ヨ嚜宸辮皟鐢―llRegisterServer()鏉ュ畬鎴愭敞鍐岃繃紼嬪暒銆?/p> <p>棣栧厛錛岃繕寰楀紩鍏ュ閮ㄦ柟娉曪細</p> <p>[DllImport("DllTest.dll")]<br>public static extern int DllRegisterServer();//娉ㄥ唽鏃剁敤<br>[DllImport("DllTest.dll")]<br>public static extern int DllUnregisterServer();//鍙栨秷娉ㄥ唽鏃剁敤</p> <p>鎺ヤ笅鏉ュ氨涓嶉毦鍟︼細int i = DllRegisterServer();<br>if (i >= 0)<br>{<br>    //娉ㄥ唽鎴愬姛!<br>}<br>else<br>{<br>    //娉ㄥ唽澶辮觸<br>}<br>鍙栨秷娉ㄥ唽鐨勮繃紼嬪氨涓嶅簲鍐嶈創浠g爜鍟︺?br> </p> <p>濡備綍瀵笵ll鏄惁宸茬粡娉ㄥ唽榪囦簡鍋氬嚭鍒ゆ柇錛?br>涓鑸儏鍐典笅錛屾垜浠彲浠ュ皢瀵笵ll鎺т歡鐨勬敞鍐岃繃紼嬫斁鍦ㄧ郴緇熷惎鍔ㄧ殑榪囩▼涓潵瀹屾垚錛屼絾鏄紝鎬諱笉鑳芥瘡嬈″惎鍔ㄩ兘娉ㄥ唽涓嬈″惂錛熻繖鏍峰仛鏄劇劧涓嶅悎鐞嗐?br>閭d箞錛屾垜浠氨鏉ュ垽鏂竴涓嬶紝褰撳墠Dll鏄惁宸茬粡娉ㄥ唽榪囷紝濡傛灉宸叉敞鍐岃繃錛屽氨璺寵繃娉ㄥ唽榪囩▼銆?/p> <p>姣忎竴涓狣ll鐨勬敞鍐岄兘浼氬湪娉ㄥ唽琛ㄩ噷璁板綍涓嬫湁鍏沖畠鏈韓鐨勮祫鏂欙紝濡傛敞鍐岃礬寰勶紝鍞竴ID絳夈傛垜浠繖閲屽氨鏄埄鐢ㄥ畠鐣欎笅鐨勫敮涓ID鍙鋒潵鍒ゆ柇錛?/p> <p>RegistryKey rkTest = Registry.ClassesRoot.OpenSubKey("CLSID\\{7713F78A-44DE-42BA-A1F6-3FB0BD6CA63B}\\");<br>if (rkTest == null)<br>{  <br> //Dll娌℃湁娉ㄥ唽錛屽湪榪欓噷璋冪敤DllRegisterServer()鍚?br>锝?br>娉ㄦ剰瑕佹坊鍔犲鍛藉悕絀洪棿Microsoft.Win32鐨勫紩鐢細using Microsoft.Win32;</p> <p>鍏朵腑鐨?#8220;{7713F78A-44DE-42BA-A1F6-3FB0BD6CA63B}”灝辨槸璇ll鐨勫敮涓ID鍟︼紝姣忎竴涓狣ll鏂囦歡閮戒細涓嶄竴鏍風殑銆?/p> <p>浣嗘槸錛岄棶棰樺張鏉ヤ簡錛屾庝箞鏍風煡閬撳畠鐨勫敮涓ID鍛紵鍏跺疄寰堢畝鍗曪紝閭e氨鏄?#8220;閫嗗悜鎬濈淮”銆?br>鎴戜滑鍙厛娉ㄥ唽榪欎釜Dll鏂囦歡錛岀劧鍚庡埌娉ㄥ唽琛ㄧ殑“HKEY_CLASSES_ROOT\CLSID”鍒嗘敮涓?#8220;鏌ユ壘”Dll鐨勫悕縐版垨璺緞錛屽氨鍙互鐪嬪埌榪欎釜ID鍟︺? </p> <br> <img src ="http://m.shnenglu.com/xingmuxixi/aggbug/146134.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/xingmuxixi/" target="_blank">閱掔洰瑗胯タ</a> 2011-05-10 19:56 <a href="http://m.shnenglu.com/xingmuxixi/archive/2011/05/10/146134.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>C#璺ㄧ嚎紼嬭皟鐢ㄧ獥浣撴帶浠剁殑闂http://m.shnenglu.com/xingmuxixi/archive/2011/02/27/140735.html閱掔洰瑗胯タ閱掔洰瑗胯タSun, 27 Feb 2011 06:06:00 GMThttp://m.shnenglu.com/xingmuxixi/archive/2011/02/27/140735.htmlhttp://m.shnenglu.com/xingmuxixi/comments/140735.htmlhttp://m.shnenglu.com/xingmuxixi/archive/2011/02/27/140735.html#Feedback0http://m.shnenglu.com/xingmuxixi/comments/commentRss/140735.htmlhttp://m.shnenglu.com/xingmuxixi/services/trackbacks/140735.html 鍓嶆鏃墮棿閬囧埌璺ㄧ嚎紼嬭皟鐢ㄧ獥浣撴帶浠剁殑闂錛屽叾瀹炰竴鍙ヨ瘽System.Windows.Forms.Control.CheckForIllegalCrossThreadCalls = false;灝卞彲浠ヨВ鍐籌紝浣嗘劅瑙変細鏈変笉紼沖畾鍥犵礌錛屽洜姝ゅ湪緗戜笂鎵句簡涓浜涚浉搴旂殑鏂囩珷鎰熻榪樹笉閿欙紝絎竴縐嶇敤鐨勬瘮杈冮『鎵嬶細

(娉細鍦╠evexpress鎺т歡涓敤DevExpress.Data.CurrencyDataController.DisableThreadingProblemsDetection = true;)

    鐢ㄦ埛涓嶅枩嬈㈠弽搴旀參鐨勭▼搴忋傚湪鎵ц鑰楁椂杈冮暱鐨勬搷浣滄椂錛屼嬌鐢ㄥ綰跨▼鏄槑鏅轟箣涓撅紝瀹冨彲浠ユ彁楂樼▼搴?UI 鐨勫搷搴旈熷害錛屼嬌寰椾竴鍒囪繍琛屾樉寰楁洿涓哄揩閫熴傚湪 Windows 涓繘琛屽綰跨▼緙栫▼鏇劇粡鏄?C++ 寮鍙戜漢鍛樼殑涓撳睘鐗規潈錛屼絾鏄幇鍦紝鍙互浣跨敤鎵鏈夊吋瀹?Microsoft .NET 鐨勮璦鏉ョ紪鍐欍?/p>

涓嶈繃Windows 紿椾綋浣撶郴緇撴瀯瀵圭嚎紼嬩嬌鐢ㄥ埗瀹氫簡涓ユ牸鐨勮鍒欍傚鏋滃彧鏄紪鍐欏崟綰跨▼搴旂敤紼嬪簭錛屽垯娌″繀瑕佺煡閬撹繖浜涜鍒欙紝榪欐槸鍥犱負鍗曠嚎紼嬬殑浠g爜涓嶅彲鑳借繚鍙嶈繖浜涜鍒欍傜劧鑰岋紝涓鏃﹂噰鐢ㄥ綰跨▼錛屽氨闇瑕佺悊瑙?Windows 紿椾綋涓渶閲嶈鐨勪竴鏉$嚎紼嬭鍒欙細闄や簡鏋佸皯鏁扮殑渚嬪鎯呭喌錛屽惁鍒欓兘涓嶈鍦ㄥ畠鐨勫垱寤虹嚎紼嬩互澶栫殑綰跨▼涓嬌鐢ㄦ帶浠剁殑浠諱綍鎴愬憳銆傛湰瑙勫垯鐨勪緥澶栨儏鍐墊湁鏂囨。璇存槑錛屼絾榪欐牱鐨勬儏鍐甸潪甯稿皯銆傝繖閫傜敤浜庡叾綾繪淳鐢熻嚜 System.Windows.Forms.Control 鐨勪換浣曞璞★紝鍏朵腑鍑犱箮鍖呮嫭 UI 涓殑鎵鏈夊厓绱犮傛墍鏈夌殑 UI 鍏冪礌錛堝寘鎷〃鍗曟湰韜級閮芥槸浠?Control 綾繪淳鐢熺殑瀵硅薄銆傛澶栵紝榪欐潯瑙勫垯鐨勭粨鏋滄槸涓涓鍖呭惈鐨勬帶浠訛紙濡傦紝鍖呭惈鍦ㄤ竴涓〃鍗曚腑鐨勬寜閽級蹇呴』涓庡寘鍚畠鎺т歡浣嶅浜庡悓涓涓嚎紼嬩腑銆備篃灝辨槸璇達紝涓涓獥鍙d腑鐨勬墍鏈夋帶浠跺睘浜庡悓涓涓?UI 綰跨▼銆傚疄闄呬腑錛屽ぇ閮ㄥ垎 Windows 紿椾綋搴旂敤紼嬪簭鏈緇堥兘鍙湁涓涓嚎紼嬶紝鎵鏈?UI 媧誨姩閮藉彂鐢熷湪榪欎釜綰跨▼涓娿傝繖涓嚎紼嬮氬父縐頒負 UI 綰跨▼銆傝繖鎰忓懗鐫鎮ㄤ笉鑳借皟鐢ㄧ敤鎴風晫闈腑浠繪剰鎺т歡涓婄殑浠諱綍鏂規硶錛岄櫎闈炲湪璇ユ柟娉曠殑鏂囨。璇存槑涓寚鍑哄彲浠ヨ皟鐢ㄣ傝瑙勫垯鐨勪緥澶栨儏鍐碉紙鎬繪湁鏂囨。璁板綍錛夐潪甯稿皯鑰屼笖瀹冧滑涔嬮棿鍏崇郴涔熶笉澶с傝娉ㄦ剰錛屼互涓嬩唬鐮佹槸闈炴硶鐨勶細

        private Thread myThread;

        private void Form1_Load(object sender, EventArgs e)

        {

            myThread = new Thread(new ThreadStart(RunsOnWorkerThread));

            myThread.Start();

        }

        private void RunsOnWorkerThread()

        {

            label1.Text = "myThread綰跨▼璋冪敤UI鎺т歡";

    }

濡傛灉鎮ㄥ湪 .NET Framework 1.0 鐗堟湰涓皾璇曡繍琛岃繖孌典唬鐮侊紝涔熻浼氫莖騫歌繍琛屾垚鍔燂紝鎴栬呭垵鐪嬭搗鏉ユ槸濡傛銆傝繖灝辨槸澶氱嚎紼嬮敊璇腑鐨勪富瑕侀棶棰橈紝鍗沖畠浠茍涓嶄細绔嬪嵆鏄劇幇鍑烘潵銆傜敋鑷沖綋鍑虹幇浜嗕竴浜涢敊璇椂錛屽湪絎竴嬈℃紨紺虹▼搴忎箣鍓嶄竴鍒囩湅璧鋒潵涔熼兘寰堟甯搞備絾涓嶈鎼為敊 鈥?鎴戝垰鎵嶆樉紺虹殑榪欐浠g爜鏄庢樉榪濆弽浜嗚鍒欙紝騫朵笖鍙互棰勮錛屼換浣曟姳甯屾湜浜?#8220;璇曡繍琛屾椂鑹ソ錛屽簲璇ュ氨娌℃湁闂”鐨勪漢鍦ㄥ嵆灝嗗埌鏉ョ殑璋冭瘯鏈熸槸浼氫粯鍑烘矇閲嶄唬浠風殑銆?/p>

涓嬮潰鎴戜滑鏉ョ湅鐪嬫湁鍝簺鏂規硶鍙互瑙e喅榪欎竴闂銆?/p>

涓銆丼ystem.Windows.Forms.MethodInvoker 綾誨瀷鏄竴涓郴緇熷畾涔夌殑濮旀墭錛岀敤浜庤皟鐢ㄤ笉甯﹀弬鏁扮殑鏂規硶銆?br>        private Thread myThread;

        private void Form1_Load(object sender, EventArgs e)

        {

            myThread = new Thread(new ThreadStart(RunsOnWorkerThread));

            myThread.Start();

        }

        private void RunsOnWorkerThread()

        {

            MethodInvoker mi = new MethodInvoker(SetControlsProp);

            BeginInvoke(mi);

        }

        private void SetControlsProp()

        {

            label1.Text = "myThread綰跨▼璋冪敤UI鎺т歡";

        }

 

浜屻佺洿鎺ョ敤System.EventHandle錛堝彲甯﹀弬鏁幫級

        private Thread myThread;

        private void Form1_Load(object sender, EventArgs e)

        {

            myThread = new Thread(new ThreadStart(RunsOnWorkerThread));

            myThread.Start();

        }

        private void RunsOnWorkerThread()

        {

            //DoSomethingSlow();

            string pList = "myThread綰跨▼璋冪敤UI鎺т歡";

            label1.BeginInvoke(new System.EventHandler(UpdateUI), pList);

        }

        //鐩存帴鐢⊿ystem.EventHandler,娌℃湁蹇呰鑷畾涔夊鎵?/p>

        private void UpdateUI(object o, System.EventArgs e)

        {

           //UI綰跨▼璁劇疆label1灞炴?/p>

            label1.Text = o.ToString() + "鎴愬姛!";

        }

涓夈佸寘瑁?Control.Invoke

铏界劧絎簩涓柟娉曚腑鐨勪唬鐮佽В鍐充簡榪欎釜闂錛屼絾瀹冪浉褰撶箒鐞愩傚鏋滆緟鍔╃嚎紼嬪笇鏈涘湪緇撴潫鏃舵彁渚涙洿澶氱殑鍙嶉淇℃伅錛岃屼笉鏄畝鍗曞湴緇欏嚭“Finished!”娑堟伅錛屽垯 BeginInvoke 榪囦簬澶嶆潅鐨勪嬌鐢ㄦ柟娉曚細浠や漢鐢熺晱銆備負浜嗕紶杈懼叾浠栨秷鎭紝渚嬪“姝e湪澶勭悊”銆?#8220;涓鍒囬『鍒?#8221;絳夌瓑錛岄渶瑕佽娉曞悜 UpdateUI 鍑芥暟浼犻掍竴涓弬鏁般傚彲鑳借繕闇瑕佹坊鍔犱竴涓繘搴︽爮浠ユ彁楂樺弽棣堣兘鍔涖傝繖涔堝嬈¤皟鐢?BeginInvoke 鍙兘瀵艱嚧杈呭姪綰跨▼鍙楄浠g爜鏀厤銆傝繖鏍蜂笉浠呬細閫犳垚涓嶄究錛岃屼笖鑰冭檻鍒拌緟鍔╃嚎紼嬩笌 UI 鐨勫崗璋冩э紝榪欐牱璁捐涔熶笉濂姐傚榪欎簺榪涜鍒嗘瀽涔嬪悗錛屾垜浠涓哄寘瑁呭嚱鏁板彲浠ヨВ鍐寵繖涓や釜闂銆?/p>

        private Thread myThread;

        private void Form1_Load(object sender, EventArgs e)

        {

            myThread = new Thread(new ThreadStart(RunsOnWorkerThread));

            myThread.Start();

        }

        private void RunsOnWorkerThread()

        {

            ////DoSomethingSlow();

            for (int i = 0; i < 100; i++)

            {

                ShowProgress( Convert.ToString(i)+"%", i);

                Thread.Sleep(100);

            }

        }

        public void ShowProgress(string msg, int percentDone)

        {

            // Wrap the parameters in some EventArgs-derived custom class:

            System.EventArgs e = new MyProgressEvents(msg, percentDone);

            object[] pList = { this, e };

 

            BeginInvoke(new MyProgressEventsHandler(UpdateUI), pList);

        }

        private delegate void MyProgressEventsHandler(object sender, MyProgressEvents e);

        private void UpdateUI(object sender, MyProgressEvents e)

        {

            lblStatus.Text = e.Msg;

            myProgressControl.Value = e.PercentDone;

       }

    public class MyProgressEvents : EventArgs

    {

        public string Msg;

        public int PercentDone;

        public MyProgressEvents(string msg, int per)

        {

            Msg = msg;

            PercentDone = per;

        }

}

ShowProgress 鏂規硶瀵瑰皢璋冪敤寮曞悜姝g‘綰跨▼鐨勫伐浣滆繘琛屽皝瑁呫傝繖鎰忓懗鐫杈呭姪綰跨▼浠g爜涓嶅啀鎷呭績闇瑕佽繃澶氬叧娉?UI 緇嗚妭錛岃屽彧瑕佸畾鏈熻皟鐢?ShowProgress 鍗沖彲銆?/p>

濡傛灉鎴戞彁渚涗竴涓璁′負鍙粠浠諱綍綰跨▼璋冪敤鐨勫叕鍏辨柟娉曪紝鍒欏畬鍏ㄦ湁鍙兘鏌愪漢浼氫粠 UI 綰跨▼璋冪敤榪欎釜鏂規硶銆傚湪榪欑鎯呭喌涓嬶紝娌″繀瑕佽皟鐢?BeginInvoke錛屽洜涓烘垜宸茬粡澶勪簬姝g‘鐨勭嚎紼嬩腑銆傝皟鐢?Invoke 瀹屽叏鏄氮璐規椂闂村拰璧勬簮錛屼笉濡傜洿鎺ヨ皟鐢ㄩ傚綋鐨勬柟娉曘備負浜嗛伩鍏嶈繖縐嶆儏鍐碉紝Control 綾誨皢鍏紑涓涓О涓?InvokeRequired 鐨勫睘鎬с傝繖鏄?#8220;鍙檺 UI 綰跨▼”瑙勫垯鐨勫彟涓涓緥澶栥傚畠鍙粠浠諱綍綰跨▼璇誨彇錛屽鏋滆皟鐢ㄧ嚎紼嬫槸 UI 綰跨▼錛屽垯榪斿洖鍋囷紝鍏朵粬綰跨▼鍒欒繑鍥炵湡銆傝繖鎰忓懗鐫鎴戝彲浠ユ寜浠ヤ笅鏂瑰紡淇敼鍖呰錛?

        public void ShowProgress(string msg, int percentDone)

        {

            if (InvokeRequired)

            {

                // As before

                //...

            }

            else

            {

                // We're already on the UI thread just

                // call straight through.

                UpdateUI(this, new MyProgressEvents(msg,PercentDone));

            }

        }

 

鏈枃鏉ヨ嚜CSDN鍗氬錛岃漿杞借鏍囨槑鍑哄錛?a >http://blog.csdn.net/jackey0517/archive/2009/09/08/4533458.aspx



]]>
C#涓法綰跨▼鎿嶄綔鎺т歡鏃禝nvoke鍜孊eginInvoke 鍖哄埆http://m.shnenglu.com/xingmuxixi/archive/2011/02/27/140734.html閱掔洰瑗胯タ閱掔洰瑗胯タSun, 27 Feb 2011 06:05:00 GMThttp://m.shnenglu.com/xingmuxixi/archive/2011/02/27/140734.htmlhttp://m.shnenglu.com/xingmuxixi/comments/140734.htmlhttp://m.shnenglu.com/xingmuxixi/archive/2011/02/27/140734.html#Feedback0http://m.shnenglu.com/xingmuxixi/comments/commentRss/140734.htmlhttp://m.shnenglu.com/xingmuxixi/services/trackbacks/140734.htmlControl.Invoke 鏂規硶 (Delegate):鍦?strong>鎷ユ湁姝ゆ帶浠剁殑鍩虹紿楀彛鍙ユ焺鐨勭嚎紼嬩笂鎵ц鎸囧畾鐨勫鎵樸?/span>

Control.BeginInvoke 鏂規硶 (Delegate) :鍦?strong>鍒涘緩鎺т歡鐨勫熀紜鍙ユ焺鎵鍦ㄧ嚎紼嬩笂寮傛鎵ц鎸囧畾濮旀墭銆?/span>

(涓錛塁ontrol鐨処nvoke鍜孊eginInvoke
鎴戜滑瑕佸熀浜庝互涓嬭璇嗭細
錛?錛塁ontrol鐨処nvoke鍜孊eginInvoke涓嶥elegate鐨処nvoke鍜孊eginInvoke鏄笉鍚岀殑銆?br>錛?錛塁ontrol鐨処nvoke鍜孊eginInvoke鐨勫弬鏁頒負delegate錛屽鎵樼殑鏂規硶鏄湪Control鐨勭嚎紼嬩笂鎵ц鐨勶紝涔熷氨鏄垜浠鉤鏃舵墍璇寸殑UI綰跨▼銆?br>
鎴戜滑浠ヤ唬鐮?涓)鏉ョ湅(Control鐨処nvoke)
private delegate void InvokeDelegate();
private void InvokeMethod(){
   //C浠g爜孌?br>}
private void butInvoke_Click(object sender, EventArgs e) {
   //A浠g爜孌?......
   this.Invoke(new InvokeDelegate(InvokeMethod));
   //B浠g爜孌?.....
}
浣犺寰椾唬鐮佺殑鎵ц欏哄簭鏄粈涔堝憿?璁板ソControl鐨処nvoke鍜孊eginInvoke閮芥墽琛屽湪涓葷嚎紼嬪嵆UI綰跨▼涓?br>A------>C---------------->B
瑙i噴錛?1)A鍦║I綰跨▼涓婃墽琛屽畬鍚庯紝寮濮婭nvoke錛孖nvoke鏄悓姝?br>(2)浠g爜孌礏騫朵笉鎵ц錛岃屾槸绔嬪嵆鍦║I綰跨▼涓婃墽琛孖nvokeMethod鏂規硶錛屽嵆浠g爜孌礐銆?br>(3)InvokeMethod鏂規硶鎵ц瀹屽悗錛屼唬鐮佹C鎵嶅湪UI綰跨▼涓婄戶緇墽琛屻?br>
鐪嬬湅浠g爜(浜?錛孋ontrol鐨凚eginInvoke
private delegate void BeginInvokeDelegate();
private void BeginInvokeMethod(){
   //C浠g爜孌?br>}
private void butBeginInvoke_Click(object sender, EventArgs e) {
   //A浠g爜孌?......
   this.BeginInvoke(new BeginInvokeDelegate(BeginInvokeMethod));
   //B浠g爜孌?.....
}

浣犺寰椾唬鐮佺殑鎵ц欏哄簭鏄粈涔堝憿?璁板ソControl鐨処nvoke鍜孊eginInvoke閮芥墽琛屽湪涓葷嚎紼嬪嵆UI綰跨▼涓?br>A----------->B--------------->C鎱庨噸錛岃繖涓彧鍋氬弬鑰冦傘傘傘傘傦紝鎴戜篃涓嶈偗瀹氭墽琛岄『搴忥紝濡傛灉鏈夊摢浣嶈揪浜虹煡閬撶殑璇濊鍛婄煡銆?/span>
瑙i噴錛氾細(1)A鍦║I綰跨▼涓婃墽琛屽畬鍚庯紝寮濮婤eginInvoke錛孊eginInvoke鏄紓姝?br>(2)InvokeMethod鏂規硶錛屽嵆浠g爜孌礐涓嶄細鎵ц錛岃屾槸绔嬪嵆鍦║I綰跨▼涓婃墽琛屼唬鐮佹B銆?br>(3)浠g爜孌礏鎵ц瀹屽悗(灝辨槸璇碽utBeginInvoke_Click鏂規硶鎵ц瀹屽悗)錛孖nvokeMethod鏂規硶錛屽嵆浠g爜孌礐鎵嶅湪UI綰跨▼涓婄戶緇墽琛屻?br>
鐢辨錛屾垜浠煡閬擄細
Control鐨処nvoke鍜孊eginInvoke鐨勫鎵樻柟娉曟槸鍦ㄤ富綰跨▼錛屽嵆UI綰跨▼涓婃墽琛岀殑銆備篃灝辨槸璇村鏋滀綘鐨勫鎵樻柟娉曠敤鏉ュ彇鑺辮垂鏃墮棿闀跨殑鏁版嵁錛岀劧鍚庢洿鏂扮晫闈粈涔堢殑錛屽崈涓囧埆鍦║I綰跨▼涓婅皟鐢–ontrol.Invoke鍜孋ontrol.BeginInvoke錛屽洜涓鴻繖浜涙槸渚濈劧闃誨UI綰跨▼鐨勶紝閫犳垚鐣岄潰鐨勫亣姝匯?br>
閭d箞錛岃繖涓紓姝ュ埌搴曟槸浠涔堟剰鎬濆憿?

寮傛鏄寚鐩稿浜庤皟鐢˙eginInvoke鐨勭嚎紼嬪紓姝ワ紝鑰屼笉鏄浉瀵逛簬UI綰跨▼寮傛錛屼綘鍦║I綰跨▼涓婅皟鐢˙eginInvoke 錛屽綋鐒朵笉琛屼簡銆傦紞錛嶏紞錛嶆憳鑷?Invoke鍜孊eginInvoke鐨勭湡姝f兜涔?涓鏂囦腑鐨勮瘎璁恒?br>BeginInvoke鐨勫師鐞嗘槸灝嗚皟鐢ㄧ殑鏂規硶Marshal鎴愭秷鎭紝鐒跺悗璋冪敤Win32 API涓殑RegisterWindowMessage()鍚慤I紿楀彛鍙戦佹秷鎭傦紞錛嶏紞錛嶆憳鑷?Invoke鍜孊eginInvoke鐨勭湡姝f兜涔?涓鏂囦腑鐨勮瘎璁恒?br>
(浜?鎴戜滑鐢═hread鏉ヨ皟鐢˙eginInvoke鍜孖nvoke
      鎴戜滑寮涓涓嚎紼嬶紝璁╃嚎紼嬫墽琛屼竴浜涜楄垂鏃墮棿鐨勬搷浣滐紝鐒跺悗鍐嶇敤Control.Invoke鍜孋ontrol.BeginInvoke鍥炲埌鐢ㄦ埛UI綰跨▼錛屾墽琛岀晫闈㈡洿鏂般?br>
浠g爜(涓?  Thread璋冪敤Control鐨処nvoke
private Thread invokeThread;
private delegate void invokeDelegate();
private void StartMethod(){
   //C浠g爜孌?.....
   Control.Invoke(new invokeDelegate(invokeMethod));
  //D浠g爜孌?.....
}
private void invokeMethod(){
  //E浠g爜孌?br>}
private void butInvoke_Click(object sender, EventArgs e) {
   //A浠g爜孌?......
   invokeThread = new Thread(new ThreadStart(StartMethod));
   invokeThread.Start();
   //B浠g爜孌?.....
}

浣犺寰椾唬鐮佺殑鎵ц欏哄簭鏄粈涔堝憿?璁板ソControl鐨処nvoke鍜孊eginInvoke閮芥墽琛屽湪涓葷嚎紼嬪嵆UI綰跨▼涓?br>A------>(Start涓寮濮婤鍜?span style="COLOR: #ff0000">StartMethod鐨?/span>C灝卞悓鏃舵墽琛?---->(C鎵ц瀹屼簡錛屼笉綆鏈夋病鏈夋墽琛屽畬錛宨nvokeThread鎶婃秷鎭皝閫?invoke)緇橴I綰跨▼錛岀劧鍚庤嚜宸辯瓑寰?---->UI綰跨▼澶勭悊瀹?span style="COLOR: #0000ff">butInvoke_Click娑堟伅鍚庯紝澶勭悊invokeThread灝侀佽繃鏉ョ殑娑堟伅錛屾墽琛宨nvokeMethod鏂規硶錛屽嵆浠g爜孌礒錛屽鐞嗗線鍚嶶I綰跨▼鍒囨崲鍒癷nvokeThread綰跨▼銆?br>榪欎釜Control.Invoke鏄浉瀵逛簬invokeThread綰跨▼鍚屾鐨勶紝闃繪浜嗗叾榪愯銆?br>
瑙i噴錛?br>1銆俇I鎵цA
2銆俇I寮綰跨▼InvokeThread錛孊鍜孋鍚屾椂鎵ц錛孊鎵ц鍦ㄧ嚎紼婾I涓婏紝C鎵ц鍦ㄧ嚎紼媔nvokeThread涓娿?br>3銆俰nvokeThread灝侀佹秷鎭粰UI錛岀劧鍚庤嚜宸辯瓑寰咃紝UI澶勭悊瀹屾秷鎭悗錛屽鐞唅nvokeThread灝侀佺殑娑堟伅錛屽嵆浠g爜孌礒
4銆俇I鎵ц瀹孍鍚庯紝杞埌綰跨▼invokeThread涓婏紝invokeThread綰跨▼鎵ц浠g爜孌礑

浠g爜(鍥?  Thread璋冪敤Control鐨凚eginInvoke
private Thread beginInvokeThread;
private delegate void beginInvokeDelegate();
private void StartMethod(){
   //C浠g爜孌?.....
   Control.BeginInvoke(new beginInvokeDelegate(beginInvokeMethod));
  //D浠g爜孌?.....
}
private void beginInvokeMethod(){
  //E浠g爜孌?br>}
private void butBeginInvoke_Click(object sender, EventArgs e) {
   //A浠g爜孌?......
   beginInvokeThread = new Thread(new ThreadStart(StartMethod));
   beginInvokeThread .Start();
   //B浠g爜孌?.....
}
浣犺寰椾唬鐮佺殑鎵ц欏哄簭鏄粈涔堝憿?璁板ソControl鐨処nvoke鍜孊eginInvoke閮芥墽琛屽湪涓葷嚎紼嬪嵆UI綰跨▼涓?br>A鍦║I綰跨▼涓婃墽琛?---->beginInvokeThread綰跨▼寮濮嬫墽琛岋紝UI緇х畫鎵ц浠g爜孌礏錛屽茍鍙戝湴invokeThread鎵ц浠g爜孌礐-------------->涓嶇UI鏈夋病鏈夋墽琛屽畬浠g爜孌礏錛岃繖鏃禸eginInvokeThread綰跨▼鎶婃秷鎭皝閫佺粰UI錛屽崟鑷繁騫朵笉絳夊緟錛岀戶緇悜涓嬫墽琛?------->UI澶勭悊瀹?span style="COLOR: #0000ff">butBeginInvoke_Click娑堟伅鍚庯紝澶勭悊beginInvokeThread綰跨▼灝侀佽繃鏉ョ殑娑堟伅銆?br>


瑙i噴錛?br>1銆俇I鎵цA
2銆俇I寮綰跨▼beginInvokeThread錛孊鍜孋鍚屾椂鎵ц錛孊鎵ц鍦ㄧ嚎紼婾I涓婏紝C鎵ц鍦ㄧ嚎紼媌eginInvokeThread涓娿?br>3銆俠eginInvokeThread灝侀佹秷鎭粰UI錛岀劧鍚庤嚜宸辯戶緇墽琛屼唬鐮丏錛孶I澶勭悊瀹屾秷鎭悗錛屽鐞唅nvokeThread灝侀佺殑娑堟伅錛屽嵆浠g爜孌礒
鏈夌偣鐤戦棶錛氬鏋淯I鍏堟墽琛屽畬姣曪紝鏄笉鏄湁鍙兘榪囦簡孌墊椂闂碽eginInvokeThread鎵嶆妸娑堟伅灝侀佺粰UI錛岀劧鍚嶶I鎵嶇戶緇墽琛屽皝閫佺殑娑堟伅E銆傚鍥炬祬緇跨殑閮ㄥ垎銆?/span>


Control鐨凚eginInvoke鏄浉瀵逛簬璋冪敤瀹冪殑綰跨▼錛屽嵆beginInvokeThread鐩稿鏄紓姝ョ殑銆?br>鍥犳錛屾垜浠彲浠ユ兂鍒般傚鏋滆寮傛鍙栬楄垂闀挎椂闂寸殑鏁版嵁錛屾瘮濡備粠鏁版嵁搴撲腑璇誨ぇ閲忔暟鎹紝鎴戜滑搴旇榪欎箞鍋氥?br>
(1)濡傛灉浣犳兂闃繪璋冪敤綰跨▼錛岄偅涔堣皟鐢ㄤ唬鐮?涓?錛屼唬鐮佹D鍒犳帀錛孋鏀逛負鑰楄垂闀挎椂闂寸殑鎿嶄綔錛屽洜涓鴻繖涓搷浣滄槸鍦ㄥ彟澶栦竴涓嚎紼嬩腑鍋氱殑銆備唬鐮佹E鏀逛負鏇存柊鐣岄潰鐨勬柟娉曘?br>(2)濡傛灉浣犱笉鎯抽樆姝㈣皟鐢ㄧ嚎紼嬶紝閭d箞璋冪敤浠g爜(鍥?錛屼唬鐮佹D鍒犳帀錛孋鏀逛負鑰楄垂闀挎椂闂寸殑鎿嶄綔錛屽洜涓鴻繖涓搷浣滄槸鍦ㄥ彟澶栦竴涓嚎紼嬩腑鍋氱殑銆備唬鐮佹E鏀逛負鏇存柊鐣岄潰鐨勬柟娉曘?br>

==============================浠ヤ笂鏄師甯?============================

       鎴戣涓轟笂闈?#8220;浠g爜浜?#8221;緇欏嚭鐨勮繍琛岀粨鏋滄槸姝g‘鐨勩傛垜鏉ュ仛涓葷粨錛氬鎵樼殑鍚屾鍜屽紓姝ョ殑鍖哄埆錛屽彧鏈夊湪澶氱嚎紼嬩腑鎵嶈兘浣撶幇鐨勫嚭鏉ャ備互璺ㄧ嚎紼嬫搷浣滄帶浠朵負渚嬶紝閲囩敤寮傛鏃跺垯鍚慤I綰跨▼鍙戦佷竴涓秷鎭紝鐒跺悗璇ュ共鍢涘共鍢涳紝榪欎釜娑堟伅浠涔堟椂鍊欎細寰楀埌鐩稿簲鏄笉涓瀹氱殑銆傚鏋滈噰鐢ㄥ悓姝ユ墽琛屽垯鍚慤I綰跨▼鍙戦佷竴涓秷鎭紝鐒跺悗涓鐩寸瓑寰咃紝鐩村埌榪欎釜娑堟伅琚浉搴斿悗鎵嶆帴鐫鍚戜笅鎵ц銆備篃灝辨槸璇達紝鍦ㄤ笉璺ㄧ嚎紼嬬殑鏃跺?鍦║I綰跨▼涓搷浣滄帶浠?鍚屾鍜屽紓姝ユ槸娌℃湁鍖哄埆鐨勶紝褰撶劧錛屼笉璺ㄧ嚎紼嬪氨鍙互鐩存帴鎿嶄綔鎺т歡浜嗭紝娌″繀瑕佸埄鐢ㄥ鎵樸?/span>



]]>
涓涓葷粡鐞嗙殑11涓粡鍏擱潰璇曢棶棰?/title><link>http://m.shnenglu.com/xingmuxixi/archive/2011/02/27/140732.html</link><dc:creator>閱掔洰瑗胯タ</dc:creator><author>閱掔洰瑗胯タ</author><pubDate>Sun, 27 Feb 2011 05:11:00 GMT</pubDate><guid>http://m.shnenglu.com/xingmuxixi/archive/2011/02/27/140732.html</guid><wfw:comment>http://m.shnenglu.com/xingmuxixi/comments/140732.html</wfw:comment><comments>http://m.shnenglu.com/xingmuxixi/archive/2011/02/27/140732.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/xingmuxixi/comments/commentRss/140732.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/xingmuxixi/services/trackbacks/140732.html</trackback:ping><description><![CDATA[<p>涓涓葷粡鐞嗙殑11涓粡鍏擱潰璇曢棶棰?/p> <p>瀛欏瓙鏇幫細“鍏佃咃紝鍥戒箣澶т簨錛屾鐢熶箣鍦幫紝瀛樹骸涔嬮亾錛屼笉鍙笉瀵熶篃銆?#8221;褰撲唬紺句細錛屽簲鑱樹竴涓矖浣嶏紝鐘瑰涓庢晫鍥芥墦浠椼傚噯澶囨墦浠楃殑鏃墮棿涓庢墦浠楁椂闂翠箣姣斿簲涓?0錛?錛岀敋鑷蟲槸100錛?銆傛晠錛屾垜浠笉寰椾笉娣辯┒涔熴?/p> <p>鏈榪戯紝鑷繁闈㈣瘯浜嗕笂鐧句釜澶у鐢燂紝瑙夊緱浠栦滑鍦ㄩ潰璇曠殑蹇冩佸拰鎶鑳芥柟闈㈡ラ渶鎻愰珮錛屼互渚塊『鍒╅氳繃榪欎竴鍏籌紝榪涘叆浜虹敓鐨勭涓涓亴涓氥傞潰璇曡繃紼嬩腑錛屾垜浼氬悜搴旇仒鑰呭彂闂紝鑰屽簲鑱樿呯殑鍥炵瓟灝嗘垚涓烘垜鑰冭檻鏄惁鎺ュ彈浠栫殑閲嶈渚濇嵁銆傚搴旇仒鑰呰岃█錛屼簡瑙h繖浜涢棶棰樿儗鍚庣殑鐩殑鑷沖叧閲嶈銆?/p> <p>闂涓錛?#8220;璇蜂綘鑷垜浠嬬粛涓涓?#8221;</p> <p>榪欎釜闂鐨勯潰璇曟柟娉曟槸錛氬簲鑱樿呯珯璧鋒潵鐢ㄤ簲鍒嗛挓鐨勬椂闂撮潰瀵瑰ぇ瀹惰繘琛屾紨璁層?/p> <p>鎴戠殑鐩殑鏄細浜嗚В搴旇仒鑰呯殑蹇冪悊鎵垮彈鑳藉姏銆侀昏緫鎬濈淮鑳藉姏銆佹紨璁茶兘鍔涳紝鑰屼粬鐨勭敓騫充粙緇嶅嵈鏄叾嬈$殑錛屽洜涓猴紝鎴戜滑鍦ㄤ粬鐨勭畝鍘嗕腑宸茬粡瀵瑰叾鏈夋墍浜嗚В銆?/p> <p>搴旇仒鑰呭簲璇ュ仛鍒幫細1銆佷粙緇嶅唴瀹硅涓庝釜浜虹畝鍘嗙浉涓鑷淬?2銆佽〃榪版柟寮忎笂灝介噺鍙h鍖栥?3銆佽鍒囦腑瑕佸錛屼笉璋堟棤鍏熾佹棤鐢ㄧ殑鍐呭銆?4銆佹潯鐞嗚娓呮櫚錛屽眰嬈¤鍒嗘槑銆?銆佽鏈夎緇冩湁绱犵殑婕旇璇皵鍜岃偄浣撹璦錛岃繖鏄渶閲嶈鐨勩?/p> <p>闂浜岋細“浣犳湁浠涔堜笟浣欑埍濂斤紵”</p> <p>鎴戠殑鐩殑鏄細浜嗚В搴旇仒鑰呯殑鎬ф牸銆佽蹇點佸績鎬併佹濈淮鐨勬繁搴︾瓑銆備負浜嗘繁鍏ヤ簡瑙e簲鑱樿呯殑鐖卞ソ紼嬪害錛屾垜浼氭彁鍑烘洿鍔犳繁鍒葷殑闂錛屾瘮濡傦紝搴旇仒鑰呭枩嬈㈡祦琛岄煶涔愶紝鎴戝氨浼氶棶鐩稿叧鐨勯棶棰橈細“鎮ㄤ粈涔堟椂鍊欏紑濮嬪枩嬈㈢殑錛熸偍鏈鍠滄鍝釜姝屾墜錛熷ス鐨勬紨鍞遍鏍煎浣曪紵濂圭殑鎴愬悕鏇叉槸鍝竴棣栵紵鎮ㄦ渶鍠滄濂圭殑鍝竴棣栨瓕鏇詫紵涓轟粈涔堬紵”涓涓湡姝f湁榪欐柟闈笟浣欑埍濂界殑搴旇仒鑰呭簲璇ュ絳斿嫻侊紝閬楁喚鐨勬槸錛岃澶氬簲鑱樿呬笉鑳藉仛鍒般?/p> <p>鏈夌殑搴旇仒鑰呭枩嬈㈣涔︼紝鎴戠殑鐩稿叧闂灝辨洿鍔犲皷閿愶細“鎮ㄦ渶鍠滄鍝竴浣嶄綔瀹訛紵鎮ㄦ渶鍠滄榪欎釜浣滃鐨勫摢涓鏈功錛熻繖鏈功鐨勪腑蹇冩濇兂鏄粈涔堬紵鎮ㄩ槄璇諱簡榪欐湰涔﹀悗鏈変粈涔堟劅鎮燂紵瀵逛漢鐢熺殑鍚ず鍙堟槸浠涔堬紵”鑳藉搴旂瓟榪欑被闂鐨勫簲鑱樿呭瀵ユ棤鍑犮?/p> <p>搴旇仒鑰呭簲璇ュ仛鍒幫細1銆佷簨鍏堝仛濂借繖鏂歸潰鐨勫噯澶囥?銆?鏈濂戒笉瑕佽鑷繁娌℃湁涓氫綑鐖卞ソ銆?3銆?涓嶈璇磋嚜宸辨湁閭d簺搴鎬織鐨勩佷護浜烘劅瑙変笉濂界殑鐖卞ソ銆?/p> <p>闂涓夛細“璋堣皥浣犵殑緙虹偣”</p> <p>鎴戠殑鐩殑鏄細浜嗚В搴旇仒鑰呮槸鍚﹁鐪熸濊冭繃鑷繁錛屽垎鏋愯繃鑷繁錛屽弽鐪佽繃鑷繁銆傚鏋滀竴涓漢鑳借娓呰嚜宸辯殑緙虹偣錛屽茍鏈夋敼榪涚殑鎰挎湜鍜屾柟娉曪紝浠栧彲鑳芥槸涓涓笉鍙寰楃殑浜烘墠銆?/p> <p>搴旇仒鑰呭簲璇ュ仛鍒幫細1銆?涓嶅疁璇磋嚜宸辨病鏈夌己鐐癸紝鍥犱負浜轟竴瀹氭湁緙虹偣鐨勶紝闄ら潪鏄銆?銆佷笉瀹滆鍑轟弗閲嶅獎鍝嶆墍搴旇仒宸ヤ綔鐨勭己鐐廣?3銆佸浜庤嚜宸辯湡姝g殑緙虹偣錛屽氨璁ょ湡瀵瑰叾榪涜鍓栨瀽錛屽茍鐢ㄧН鏋佺殑蹇冩佸幓闈㈠錛屽幓淇偧銆?/p> <p>闂鍥涳細“涓句竴涓漢鐢熶腑鏈澶辮觸鐨勭粡鍘?#8221;</p> <p>鎴戠殑鐩殑鏄細浜嗚В搴旇仒鑰呯殑鑳嗛噺鍜屽媷姘旓紝鏄惁闄峰叆浜嗛夋嫨鎬х煡瑙夌殑闄烽槺錛屾槸鍚﹁繘琛屼簡娣卞埢鐨勫弽鐪侊紝鏄惁鎺ュ彈浜嗘繁鍒葷殑鏁欒銆?/p> <p>搴旇仒鑰呭簲璇ュ仛鍒幫細 1銆?涓嶅疁璇磋嚜宸辨病鏈夊け璐ョ殑緇忓巻銆?銆?瀹滆鏄庡け璐ヤ箣鍓嶈嚜宸辨浘淇″績鐧藉嶃佸敖蹇冨敖鍔涖?3銆?鏄庣‘璇存槑澶辮觸鏄富瑕佺敱涓昏鍘熷洜瀵艱嚧鐨勩?4銆?澶辮觸鍚庤嚜宸辨浘鍋氫簡娣卞埢鐨勫弽鐪侊紝寰堝揩鎸綔璧鋒潵錛屼互鏇村姞楗辨弧鐨勭儹鎯呴潰瀵逛互鍚庣殑瀛︿範鎴栧伐浣溿?/p> <p>闂浜旓細“浣犱負浠涔堥夋嫨鎴戜滑鍏徃錛?#8221;</p> <p>鎴戠殑鐩殑鏄細浜嗚В搴旇仒鑰呮眰鑱岀殑鍔ㄦ満銆佹効鏈涗互鍙婂姝ら」宸ヤ綔鐨勬佸害銆傛垜鍗佸垎嬈h祻瀵規垜鍏徃寰堜簡瑙g殑搴旇仒鑰呫?/p> <p>搴旇仒鑰呭簲璇ュ仛鍒幫細1銆?寤鴻浠庤涓氥佷紒涓氬拰宀椾綅榪欎笁涓搴︽潵鍥炵瓟銆?2銆?鍙傝冪瓟妗堚斺?#8220;鎴戝崄鍒嗙湅濂借吹鍏徃鎵鍦ㄧ殑琛屼笟錛屾垜璁や負璐靛叕鍙稿崄鍒嗛噸瑙嗕漢鎵嶏紝鑰屼笖榪欓」宸ヤ綔寰堥傚悎鎴戯紝鐩鎬俊鑷繁涓瀹氳兘鍋氬ソ銆?#8221;</p> <p>闂鍏細“瀵硅繖欏瑰伐浣滐紝浣犳湁鍝簺鍙瑙佺殑鍥伴毦錛?#8221;</p> <p>鎴戠殑鐩殑鏄細搴旇仒鑰呯殑棰勬祴鑳藉姏錛屽茍鏈夊簲瀵規柟娉曘傜粷澶у鏁扮殑搴旇仒鑰呭仛涓嶅埌銆?/p> <p>搴旇仒鑰呭簲璇ュ仛鍒幫細 1銆?浠庢妧鏈佺煡璇嗐佺粡楠岀瓑鏂歸潰棰勮鍒扮殑鍥伴毦銆?銆佽鍑鴻嚜宸卞鍥伴毦鎵鎸佹湁鐨勬佸害錛?#8220;宸ヤ綔涓嚭鐜頒竴浜涘洶闅炬槸姝e父鐨勶紝涔熸槸闅懼厤鐨勶紝浣嗘槸鍙鏈夊潥蹇嶄笉鎷旂殑姣呭姏銆佸嫟濂嬬殑瀛︿範鎬佸害錛岃壇濂界殑鍚堜綔綺劇浠ュ強浜嬪墠鍛ㄥ瘑鑰屽厖鍒嗙殑鍑嗗錛屼換浣曞洶闅鵑兘鏄彲浠ュ厠鏈嶇殑銆?#8221;</p> <p>闂涓冿細“鍦ㄥ伐浣滀腑錛屼笌涓婄駭鎰忚涓嶄竴鑷達紝浣犲皢鎬庝箞鍔烇紵”</p> <p>鎴戠殑鐩殑鏄細浜嗚В搴旇仒鑰呯殑鎵ц鍔涳紝浜洪檯鍏崇郴鐨勬矡閫氳兘鍔涘拰鍗忚皟鑳藉姏錛屽宸ヤ綔鐨勮矗浠繪с?/p> <p>搴旇仒鑰呭簲璇ュ仛鍒幫細 1銆侀鍏堢粰涓婄駭浠ュ繀瑕佺殑銆佺涓嬬殑瑙i噴鍜屾彁閱掞紝鍦ㄦ棤鏁堢殑鎯呭喌涓嬶紝鍙堜笉浼氱粰鍏徃閫犳垚閲嶅ぇ鎹熷け錛屾垜浼氭湇浠庝笂綰х殑鎰忚銆?2銆?濡傛灉涓婄駭鐨勫喅瀹氫細緇欏叕鍙擱犳垚閲嶅ぇ鎹熷け錛岃屾垜鐨勮В閲婂拰鎻愰啋鏃犳晥鏃訛紝鎴戝笇鏈涜兘鍚戞洿楂樺眰棰嗗鍙嶆槧銆?/p> <p>闂鍏細“鎴戜滑涓轟粈涔堣褰曠敤浣狅紵”</p> <p>鎴戠殑鐩殑鏄細搴旇仒鑰呮槸鍚﹁兘澶熺珯鍦ㄦ嫑鑱樺崟浣嶇殑瑙掑害鏉ュ洖絳旓紝鍠勮В浜烘剰銆?/p> <p>搴旇仒鑰呭簲璇ュ仛鍒幫細1銆佷紒涓氫細褰曠敤榪欐牱鐨勫簲鑱樿咃細鍩烘湰絎﹀悎鏉′歡銆佸榪欎喚宸ヤ綔鎰熷叴瓚c佹湁瓚沖鐨勪俊蹇冦?2銆佽鍑鴻嚜宸辯殑瑙傜偣錛?#8220;鎴戠鍚堣吹鍏徃鐨勬嫑鑱樻潯浠訛紝鍑垜鐩墠鎺屾彙鐨勭煡璇嗐佹妧鑳姐侀珮搴︾殑璐d換鎰熴佽壇濂界殑閫傚簲鑳藉姏鍙婂涔犺兘鍔涳紝瀹屽叏鑳借儨浠昏繖浠藉伐浣溿傛垜鍗佸垎甯屾湜鑳戒負璐靛叕鍙告湇鍔★紝濡傛灉璐靛叕鍙哥粰鎴戣繖涓満浼氾紝鎴戜竴瀹氳兘鎴愪負璐靛叕鍙哥殑鏍嬫錛?#8221;</p> <p>闂涔濓細“浣犳槸搴斿眾姣曚笟鐢燂紝緙轟箯緇忛獙錛屽浣曡兘鑳滀換榪欓」宸ヤ綔錛?#8221;</p> <p>鎴戠殑鐩殑鏄細鎴戝茍涓嶇湡姝e湪涔?#8220;緇忛獙”錛屽叧閿槸搴旇仒鑰呯殑蹇冩侊紝鏄惁鏈夊厠鏈嶈嚜韜洶闅劇殑淇″績鍜屽喅蹇冿紝宸ヤ綔鏄惁鏈夎矗浠繪с?/p> <p>搴旇仒鑰呭簲璇ュ仛鍒幫細1銆?瀵硅繖涓棶棰樼殑鍥炵瓟鏈濂借浣撶幇鍑哄簲鑱樿呯殑璇氭伋銆佹満鏅恒佹灉鏁㈠強鏁笟銆?2銆佽鍑鴻嚜宸辯殑瑙傜偣錛?#8220;浣滀負搴斿眾姣曚笟鐢燂紝鍦ㄥ伐浣滅粡楠屾柟闈㈢殑紜細鏈夋墍嬈犵己錛屽洜姝ゅ湪璇諱功鏈熼棿錛屾垜涓鐩村埄鐢ㄥ悇縐嶆満浼氬湪榪欎釜琛屼笟閲屽仛鍏艱亴銆傛垜涔熷彂鐜幫紝瀹為檯宸ヤ綔榪滄瘮涔︽湰鐭ヨ瘑涓板瘜銆佸鏉傘備絾鎴戞湁杈冨己鐨勮矗浠誨績銆侀傚簲鑳藉姏鍜屽涔犺兘鍔涳紝鑰屼笖姣旇緝鍕ゅ錛屾墍浠ュ湪鍏艱亴涓潎鑳藉渾婊″畬鎴愬悇欏瑰伐浣滐紝浠庝腑鑾峰彇鐨勭粡楠屼篃浠ゆ垜鍙楃泭闈炴祬銆傝璐靛叕鍙告斁蹇冿紝瀛︽牎鎵瀛﹀強鍏艱亴鐨勫伐浣滅粡楠屼嬌鎴戜竴瀹氳兘鑳滀換榪欎釜鑱屼綅銆?#8221;</p> <p>闂鍗侊細“浣犲笇鏈涗笌浠涔堟牱鐨勪笂綰у叡浜嬶紵”</p> <p>鎴戠殑鐩殑鏄細閫氳繃搴旇仒鑰呭涓婄駭鐨?#8220;甯屾湜”鍙互鍒ゆ柇鍑哄簲鑱樿呭鑷垜瑕佹眰鐨勬剰璇嗭紝榪欐棦涓婁竴涓櫡闃憋紝鍙堜笂涓嬈℃満浼氥?/p> <p>搴旇仒鑰呭簲璇ュ仛鍒幫細1銆佹渶濂藉洖閬垮涓婄駭鍏蜂綋鐨勫笇鏈涳紝澶氳皥瀵硅嚜宸辯殑瑕佹眰銆?2銆?浣滀負鍒氭鍏ョぞ浼氱殑鏂頒漢錛屾垜搴旇澶氳姹傝嚜宸卞敖蹇啛鎮夌幆澧冦侀傚簲鐜錛岃屼笉搴旇瀵圭幆澧冩彁鍑轟粈涔堣姹傦紝鍙鑳藉彂鎸ユ垜鐨勪笓闀垮氨鍙互浜嗐?/p> <p>闂鍗佷竴錛?#8220;鎮ㄥ湪鍓嶄竴瀹跺叕鍙哥殑紱昏亴鍘熷洜鏄粈涔堬紵”</p> <p>鎴戠殑鐩殑鏄細搴旇仒鑰呮槸鏈夋劅鎭╃殑蹇冩侊紝榪樻槸鏈変粐鎭ㄧ殑蹇冩併傜壒鍒剻瑙嗛偅浜涘簲鑱樿咃紝浠栦滑鐢ㄦ瀬鍏朵笉鑹殑蹇冩佹潵璐綆鑷繁紱昏亴鐨勫叕鍙搞?/p> <p>搴旇仒鑰呭簲璇ュ仛鍒幫細1銆侀伩鍏嶆妸“紱昏亴鍘熷洜”璇村緱澶緇嗐佸お鍏蜂綋銆?銆?涓嶈兘鎺烘潅涓昏鐨勮礋闈㈡劅鍙楋紝濡?#8220;澶垢鑻?#8221;銆?#8220;浜洪檯鍏崇郴澶嶆潅”銆?#8220;綆$悊澶販涔?#8221;銆?#8220;鍏徃涓嶉噸瑙嗕漢鎵?#8221;銆?#8220;鍏徃鎺掓枼鎴戜滑鏌愭煇鐨勫憳宸?#8221;絳夈?3銆佷絾涔熶笉鑳借翰闂佸洖閬匡紝濡?#8220;鎯蟲崲鎹㈢幆澧?#8221;銆?#8220;涓漢鍘熷洜”絳夈?4銆佷笉鑳芥秹鍙婅嚜宸辮礋闈㈢殑浜烘牸鐗瑰緛錛屽涓嶈瘹瀹炪佹噿鎯般佺己涔忚矗浠繪劅銆佷笉闅忓拰絳夈?5銆佸敖閲忎嬌瑙i噴鐨勭悊鐢變負搴旇仒鑰呬釜浜哄艦璞℃坊褰╋紝濡?#8220;鎴戠鑱屾槸鍥犱負榪欏鍏徃鍊掗棴銆傛垜鍦ㄥ叕鍙稿伐浣滀簡涓夊勾澶氾紝鏈夎緝娣辯殑鎰熸儏銆備粠鍘誨勾濮嬶紝鐢變簬甯傚満褰㈠娍紿佸彉錛屽叕鍙哥殑灞闈㈡ヨ漿鐩翠笅銆傚埌鐪間笅榪欎竴姝ユ垜瑙夊緱寰堥仐鎲撅紝浣嗚繕鏄闈㈠鐨勶紝鎵浠ワ紝鎴戞兂閲嶆柊瀵繪壘鑳藉彂鎸ユ垜鑳藉姏鐨勮垶鍙般?#8221;</p> <p>鍚屼竴涓潰璇曢棶棰樺茍闈炲彧鏈変竴涓瓟妗堬紝鑰屽悓涓涓瓟妗堝茍涓嶆槸鍦ㄤ換浣曢潰璇曞満鍚堥兘鏈夋晥錛屽叧閿湪浜庡簲鑱樿呮帉鎻′簡瑙勫緥鍚庯紝瀵歸潰璇曠殑鍏蜂綋鎯呭喌榪涜鎶婃彙錛屾湁鎰忚瘑鍦版彛鎽╅潰璇曞畼鎻愬嚭闂鐨勫績鐞嗚儗鏅紝鐒跺悗鎶曞叾鎵濂姐?/p> <p>鏈鍚庯紝鎴戣寮鴻皟鏈閲嶈鐨勪竴鐐癸紝灝辨槸搴旇仒鑰呯殑鑱屼笟閬撳痙銆傛湁涓涓簲鑱樻晠浜嬪緢鑳借鏄庨棶棰樸?/p> <p>灝忓煄涓渶澶х殑涓瀹跺鍟嗙嫭璧勪紒涓氭嫑鑱?鍚嶆妧鏈漢鍛樼殑娑堟伅涓嶈儷鑰岃蛋錛岃宀椾綅鐨勫緟閬囨槸鏈堝伐璧?000鍏冿紝宸ヨ祫濂栭噾闄ゅ錛屾瘡騫磋繕鍙互鍒板ぇ媧嬪郊宀擱鍏変竴嬈°傛墍浠ワ紝鎶ヨ冭呰渹鎷ヨ岃嚦銆?/p> <p>涓冩湀嫻佺伀錛?鏌愬巶鐨勯珮宸ュ潗鍦ㄩ椃緗愪技鐨勮冨満閲岋紝钂歌吘鐨勬殤姘斿姞涓婅簛鐑殑蹇冩儏錛岀儹姹楁穻婕撱備絾鏄紝闈㈠鑰冮浠栧茍涓嶆碉紝澶栨枃銆佷笓涓氭妧鏈被鑰冮閮界瓟寰楀崄鍒嗗渾婊°傛儫鏈夌浜屽紶鑰冨嵎鐨勪袱閬撴浠や粬澶寸柤錛?"鎮ㄦ墍鍦ㄧ殑浼佷笟鎴栨浘浠昏亴榪囩殑浼佷笟緇忚惀鎴愬姛鐨勮瘈紿嶆槸浠涔?鎶鏈瀵嗘槸浠涔?"</p> <p>榪欑被棰樺浜庢浘鍦ㄤ紒涓氭悶榪囨妧鏈殑搴旇冭呭茍涓嶉毦錛屽彲楂樺伐鎵嬩腑鐨勭瑪鍗村緇堥珮鎮潃錛屾崗鏉ユ敟鍘伙紝榪熻繜钀戒笉涓嬪幓銆傚騫寸殑鑱屼笟閬撳痙鍦ㄧ害鏉熺潃浠栵細“鍘傞噷鐨勬暟鐧懼悕鑱屽伐榪樺湪鎯ㄦ貳緇忚惀錛屾垜鎬庤兘涓轟簡鑷繁鐨勯キ紕楄岀牳澶у鐨勯キ紕楀憿? ”浠栧績涓技緲繪睙鍊掓搗錛屾瘏鐒舵尌絎斿湪鑰冨嵎涓婂啓涓?涓ぇ瀛楋細“鏃犲彲濂夊憡銆?#8221;</p> <p>楂樺伐鎷栫潃娌夐噸鐨勬瀛愬悜瀹墮噷縐誨姩鐫錛岃繘闂ㄥ悗錛屽瀛愪竴鍐嶈拷闂紝浠栨墠閬撳嚭浜嗙瓟棰樼殑鑻﹁》銆傚叏瀹朵漢榛橀粯鏃犺銆?/p> <p>姝e綋楂樺伐榪炴棩濂旀嘗錛屽彟璋嬭亴涓氫箣闄咃紝鐭崇牬澶╂儕錛屽鍟嗙嫭璧勪紒涓氬彂鏉ヤ簡褰曠敤閫氱煡銆傞珮宸ユ妧鍘嬬兢闆勶紝鐧藉嵎澶哄啝錛屼紬璁悍綰鳳紝鎴愪負灝忓煄涓澶ф柊闂匯?/p> <p>楂樺伐鐨勮亴涓氶亾寰峰楂樺晩錛佹墍璋撹亴涓氶亾寰鳳紝灝辨槸鍚屼漢浠殑鑱屼笟媧誨姩绱у瘑鑱旂郴鐨勭鍚堣亴涓氱壒鐐規墍瑕佹眰鐨勯亾寰峰噯鍒欍侀亾寰鋒儏鎿嶄笌閬撳痙鍝佽川鐨勬誨拰錛屽畠鏃㈡槸瀵規湰鑱屼漢鍛樺湪鑱屼笟媧誨姩涓涓虹殑瑕佹眰錛屽悓鏃跺張鏄亴涓氬紺句細鎵璐熺殑閬撳痙璐d換涓庝箟鍔°?/p> <p>涓轟粈涔堟磥韜嚜鐖辯殑浜哄彈浜哄皧鏁紵鍥犱負浠栦滑涓嶆嬁鍘熷垯榪涜浜ゆ槗銆傞忔敮鑱屼笟閬撳痙灝辨槸鎷垮師鍒欏仛浜ゆ槗錛岃繖鏍風殑浜哄拰鎴樺満涓婄殑鍙涘緬涓鏍峰彲鎬曪紝闅忔椂閮戒細鎴愪負涓嶅畨鍏ㄩ殣鎮c傚洜姝わ紝鍦ㄤ綘鑱屼笟鐢熸動涓竴瀹氳鏃跺埢鐗㈣錛氫綘瑕佸儚淇濇姢浣犵殑鐢熷懡涓鏍烽伒瀹堣亴涓氶亾寰鳳紝姘歌繙涓嶈鐘師鍒欐ч敊璇?br> </p> <p><br>鏈枃鏉ヨ嚜CSDN鍗氬錛岃漿杞借鏍囨槑鍑哄錛?a >http://blog.csdn.net/andylin02/archive/2009/10/26/4728891.aspx</a></p> <img src ="http://m.shnenglu.com/xingmuxixi/aggbug/140732.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/xingmuxixi/" target="_blank">閱掔洰瑗胯タ</a> 2011-02-27 13:11 <a href="http://m.shnenglu.com/xingmuxixi/archive/2011/02/27/140732.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鏁版嵁瀛樺偍http://m.shnenglu.com/xingmuxixi/archive/2010/03/17/109863.html閱掔洰瑗胯タ閱掔洰瑗胯タTue, 16 Mar 2010 17:16:00 GMThttp://m.shnenglu.com/xingmuxixi/archive/2010/03/17/109863.htmlhttp://m.shnenglu.com/xingmuxixi/comments/109863.htmlhttp://m.shnenglu.com/xingmuxixi/archive/2010/03/17/109863.html#Feedback0http://m.shnenglu.com/xingmuxixi/comments/commentRss/109863.htmlhttp://m.shnenglu.com/xingmuxixi/services/trackbacks/109863.html
鍛靛懙錛屽錛屽彧鏈夋湁絎﹀彿鐨勬暣鏁版墠鏈夊師鐮併佸弽鐮佸拰琛ョ爜鐨勶紒鍏朵粬鐨勭被鍨嬩竴姒傛病鏈夈傝櫧鐒舵垜浠篃鍙互鐢ㄤ簩榪涘埗涓渶灝忕殑鏁板幓瀵瑰簲鏈灝忕殑璐熸暟錛屾渶澶х殑涔熺浉瀵瑰簲錛屼絾鏄偅鏍蜂笉縐戝錛屼笅闈㈡潵璇磋縐戝鐨勬柟娉曘傝繕鏄涓涓瓧鑺傜殑鏁存暟錛屼笉榪囪繖嬈℃槸鏈夌鍙風殑鍟︼紝1涓瓧鑺傚畠涓嶇鎬庝箞鏍瘋繕鏄彧鑳借〃紺?56涓暟錛屽洜涓烘湁絎﹀彿鎵浠ユ垜浠氨鎶婂畠琛ㄧず鎴愯寖鍥達細-128-127銆傚畠鍦ㄨ綆楁満涓槸鎬庝箞鍌ㄥ瓨鐨勫憿錛熷彲浠ヨ繖鏍風悊瑙o紝鐢ㄦ渶楂樹綅琛ㄧず絎﹀彿浣嶏紝濡傛灉鏄?琛ㄧず姝f暟錛屽鏋滄槸1琛ㄧず璐熸暟錛屽墿涓嬬殑7浣嶇敤鏉ュ偍瀛樻暟鐨勭粷瀵瑰肩殑璇濓紝鑳借〃紺?7涓暟鐨勭粷瀵瑰鹼紝鍐嶈冭檻姝h礋涓ょ鎯呭喌錛?7*2榪樻槸256涓暟銆傞鍏堝畾涔?鍦ㄨ綆楁満涓偍瀛樹負00000000錛屽浜庢鏁版垜浠緷鐒跺彲浠ュ儚鏃犵鍙鋒暟閭f牱鎹㈢畻錛屼粠00000001鍒?1111111渚濇琛ㄧず1鍒?27銆傞偅涔堣繖浜涙暟瀵瑰簲鐨勪簩榪涘埗鐮佸氨鏄繖浜涙暟鐨勫師鐮併傚埌榪欓噷寰堝浜哄氨浼氭兂錛岄偅璐熸暟鏄笉鏄粠10000001鍒?1111111渚濇琛ㄧず-1鍒?127錛岄偅浣犲彂鐜版病鏈夛紝濡傛灉榪欐牱鐨勮瘽閭d箞涓鍏卞氨鍙湁255涓暟浜嗭紝鍥犱負10000000 鐨勬儏鍐墊病鏈夎冭檻鍦ㄥ唴銆傚疄闄呬笂錛?0000000鍦ㄨ綆楁満涓〃紺烘渶灝忕殑璐熸暣鏁幫紝灝辨槸榪欓噷鐨?128錛岃屼笖瀹為檯涓婂茍涓嶆槸浠?0000001鍒?1111111 渚濇琛ㄧず-1鍒?127錛岃屾槸鍒氬ソ鐩稿弽鐨勶紝浠?0000001鍒?1111111渚濇琛ㄧず-127鍒?1銆傝礋鏁存暟鍦ㄨ綆楁満涓槸浠ヨˉ鐮佸艦寮忓偍瀛樼殑錛岃ˉ鐮佹槸鎬庝箞鏍瘋〃紺虹殑鍛紝榪欓噷榪樿寮曞叆鍙︿竴涓蹇碘斺斿弽鐮侊紝鎵璋撳弽鐮佸氨鏄妸璐熸暟鐨勫師鐮侊紙璐熸暟鐨勫師鐮佸拰鍜屽畠鐨勭粷瀵瑰兼墍瀵瑰簲鐨勫師鐮佺浉鍚岋紝綆鍗曠殑璇村氨鏄粷瀵瑰肩浉鍚岀殑鏁板師鐮佺浉鍚岋級鍚勪釜浣嶆寜浣嶅彇鍙嶏紝鏄?灝辨崲鎴?錛屾槸0灝辨崲鎴?錛屽-1鐨勫師鐮佹槸00000001錛屽拰1鐨勫師鐮佺浉鍚岋紝閭d箞-1鐨勫弽鐮佸氨鏄?1111110錛岃岃ˉ鐮佸氨鏄湪鍙嶇爜鐨勫熀紜涓婂姞1錛屽嵆-1鐨勮ˉ鐮佹槸11111110+1=11111111錛屽洜姝ゆ垜浠彲浠ョ畻鍑?1鍦ㄨ綆楁満涓槸鎸?1111111鍌ㄥ瓨鐨勩傛葷粨涓涓嬶紝璁$畻鏈哄偍瀛樻湁絎﹀彿鐨勬暣鏁版椂錛屾槸鐢ㄨ鏁存暟鐨勮ˉ鐮佽繘琛屽偍瀛樼殑錛?鐨勫師鐮併佽ˉ鐮侀兘鏄?錛屾鏁扮殑鍘熺爜銆佽ˉ鐮佸彲浠ョ壒孌婄悊瑙d負鐩稿悓錛岃礋鏁扮殑琛ョ爜鏄畠鐨勫弽鐮佸姞1銆備笅闈㈠啀澶氫婦鍑犱釜渚嬪瓙錛屾潵甯姪澶у鐞嗚В錛?br>
鍗佽繘鍒?→ 浜岃繘鍒?錛堟庝箞綆楋紵瑕佹槸涓嶇煡閬撶湅璁$畻鏈哄熀紜鐨勪功鍘伙級
47 → 101111

鏈夌鍙風殑鏁存暟 鍘熺爜 鍙嶇爜 琛ョ爜
47 00101111 11010000 00101111錛堟鏁拌ˉ鐮佸拰鍘熺爜鐩稿悓錛?br>錛?7 00101111 11010000 11010001錛堣礋鏁拌ˉ鐮佹槸鍦ㄥ弽鐮佷笂鍔?錛?br>
鍐嶄婦涓緥瀛愶紝瀛璇█鐨勫悓瀛﹀簲璇ュ仛榪囪繖閬撻錛?br>鎶婏紞1浠ユ棤絎﹀彿鐨勭被鍨嬭緭鍑猴紝寰椾粈涔堢粨鏋滐紵錛堢▼搴忓涓嬶級

#include<iostream.h>
void main()
{
short int n=-1;
cout<<(unsigned short int)n<<endl;
}

棣栧厛鍦ㄦ垜鐨勭數鑴戜腑short int綾誨瀷鐨勫偍瀛樼┖闂存槸2涓瓧鑺傦紝浣犵殑鍙兘涓嶅悓錛屾垜璇磋繃錛岃繖鍙栧喅浜庝綘鐨勮綆楁満閰嶇疆銆傚畠鑳藉偍瀛?8*2錛?5536涓笉鍚岀殑鏁版嵁淇℃伅錛屽鏋滄槸鏃犵鍙烽偅涔堝畠鐨勮寖鍥存槸0~65535錛?~216-1錛夛紝濡傛灉鏄湁絎﹀彿錛岄偅涔堝畠鐨勮寖鍥存槸-32768~32767錛?215~215-1錛夈傝繖閬撻鐩腑錛屽紑濮媙鏄竴涓湁絎﹀彿鐨勭煭鏁村瀷鍙橀噺錛屾垜浠粰瀹冭祴鍊間負-1錛屾牴鎹垜浠墠闈㈡墍璇寸殑錛屽畠鍦ㄨ綆楁満涓槸浠ヨˉ鐮?1111111 11111111鍌ㄥ瓨鐨勶紝娉ㄦ剰鍓嶉潰璇翠簡鏄?涓瓧鑺傘傚鏋滄妸瀹冨己鍒朵負鏃犵鍙風殑鐭暣鍨嬭緭鍑虹殑璇濓紝閭d箞鎴戜滑灝辨妸鍒氭墠鐨勪簩榪涘埗鎶婄湅鎴愭棤絎﹀彿鐨勬暣鍨嬪湪璁$畻鏈轟腑鍌ㄥ瓨鐨勫艦寮忥紝瀵瑰緟鏃犵鍙風殑鏁村瀷灝辨病鏈変粈涔堝師鐮併佸弽鐮佸拰琛ョ爜鐨勬蹇典簡錛岀洿鎺ユ妸11111111 11111111杞寲鎴愬崄榪涘埗灝辨槸65535錛屽叾瀹炴垜浠竴鐪嬮兘鏄竴灝辯煡閬撳畠鏄寖鍥翠腑鏈澶х殑涓涓暟浜嗐傚懙鍛碉紝灝辮繖涔堢畝鍗曘備綘涓妸涓婇潰鐨勬簮浠g爜緙栬瘧榪愯鐪嬬湅錛屽鏋滀綘鐨勭數鑴憇hort int涔熸槸涓や釜瀛楄妭錛岄偅灝變細鍜屾垜寰椾竴鏍風殑緇撴灉銆備綘鍙互鍏堢敤榪欎釜璇彞鐪嬬湅錛歝out<<sizeof(short int)<<endl;鐪嬬湅浣犵殑鐢佃剳閲岀殑鐭暣鍨嬪崰澶氬皯鐨勫偍瀛樼┖闂達紝涔熷彲浠ョ敤sizeof鏉ョ湅鍏跺畠浠諱綍綾誨瀷鎵鍒嗛厤鐨勫偍瀛樼┖闂淬?br>
鏈鍚庢彁閱掍竴鍙ワ紝鍏充簬鏁版嵁濡備綍鍦ㄨ綆楁満涓偍瀛樼殑錛岃繖閲屽彧閫傜敤浜庢暣鍨嬬殑鏁版嵁錛屽浜庢誕鐐瑰瀷鐨勬槸鍙︿竴縐嶆柟寮忥紝榪欓噷鎴戜滑鏆傛椂灝變笉娣辯┒浜?

]]>
Unicode:瀹藉瓧鑺傚瓧絎﹂泦http://m.shnenglu.com/xingmuxixi/archive/2010/03/06/109007.html閱掔洰瑗胯タ閱掔洰瑗胯タFri, 05 Mar 2010 16:59:00 GMThttp://m.shnenglu.com/xingmuxixi/archive/2010/03/06/109007.htmlhttp://m.shnenglu.com/xingmuxixi/comments/109007.htmlhttp://m.shnenglu.com/xingmuxixi/archive/2010/03/06/109007.html#Feedback0http://m.shnenglu.com/xingmuxixi/comments/commentRss/109007.htmlhttp://m.shnenglu.com/xingmuxixi/services/trackbacks/109007.html1. 濡備綍鍙栧緱涓涓棦鍖呭惈鍗曞瓧鑺傚瓧絎﹀張鍖呭惈鍙屽瓧鑺傚瓧絎︾殑瀛楃涓茬殑瀛楃涓暟錛?br>鍙互璋冪敤Microsoft Visual C++鐨勮繍琛屾湡搴撳寘鍚嚱鏁癬mbslen鏉ユ搷浣滃瀛楄妭(鏃㈠寘鎷崟瀛楄妭涔熷寘鎷弻瀛楄妭)瀛楃涓層?br>璋冪敤strlen鍑芥暟錛屾棤娉曠湡姝d簡瑙e瓧絎︿覆涓┒绔熸湁澶氬皯瀛楃錛屽畠鍙兘鍛婅瘔浣犲埌杈劇粨灝劇殑0涔嬪墠鏈夊灝戜釜瀛楄妭銆?

2. 濡備綍瀵笵BCS(鍙屽瓧鑺傚瓧絎﹂泦)瀛楃涓茶繘琛屾搷浣滐紵
鍑芥暟 鎻忚堪
PTSTR CharNext ( LPCTSTR ); 榪斿洖瀛楃涓蹭腑涓嬩竴涓瓧絎︾殑鍦板潃
PTSTR CharPrev ( LPCTSTR, LPCTSTR )錛?榪斿洖瀛楃涓蹭腑涓婁竴涓瓧絎︾殑鍦板潃
BOOL IsDBCSLeadByte( BYTE )錛?濡傛灉璇ュ瓧鑺傛槸DBCS瀛楃鐨勭涓涓瓧鑺傦紝鍒欒繑鍥為潪0鍊?

3. 涓轟粈涔堣浣跨敤Unicode錛?br>(1) 鍙互寰堝鏄撳湴鍦ㄤ笉鍚岃璦涔嬮棿榪涜鏁版嵁浜ゆ崲銆?br>(2) 浣夸綘鑳藉鍒嗛厤鏀寔鎵鏈夎璦鐨勫崟涓簩榪涘埗.exe鏂囦歡鎴朌LL鏂囦歡銆?br>(3) 鎻愰珮搴旂敤紼嬪簭鐨勮繍琛屾晥鐜囥?br>Windows 2000鏄嬌鐢║nicode浠庡ご榪涜寮鍙戠殑錛屽鏋滆皟鐢ㄤ換浣曚竴涓猈indows鍑芥暟騫剁粰瀹冧紶閫掍竴涓狝NSI瀛楃涓詫紝閭d箞緋葷粺棣栧厛瑕佸皢瀛楃涓茶漿鎹㈡垚Unicode錛岀劧鍚庡皢Unicode瀛楃涓蹭紶閫掔粰鎿嶄綔緋葷粺銆傚鏋滃笇鏈涘嚱鏁拌繑鍥濧NSI瀛楃涓詫紝緋葷粺灝變細棣栧厛灝哢nicode瀛楃涓茶漿鎹㈡垚ANSI瀛楃涓詫紝鐒跺悗灝嗙粨鏋滆繑鍥炵粰浣犵殑搴旂敤紼嬪簭銆傝繘琛岃繖浜涘瓧絎︿覆鐨勮漿鎹㈤渶瑕佸崰鐢ㄧ郴緇熺殑鏃墮棿鍜屽唴瀛樸傞氳繃浠庡ご寮濮嬬敤Unicode鏉ュ紑鍙戝簲鐢ㄧ▼搴忥紝灝辮兘澶熶嬌浣犵殑搴旂敤紼嬪簭鏇村姞鏈夋晥鍦拌繍琛屻?br>Windows CE 鏈韓灝辨槸浣跨敤Unicode鐨勪竴縐嶆搷浣滅郴緇燂紝瀹屽叏涓嶆敮鎸丄NSI Windows鍑芥暟
Windows 98 鍙敮鎸丄NSI錛屽彧鑳戒負ANSI寮鍙戝簲鐢ㄧ▼搴忋?br>Microsoft鍏徃灝咰OM浠?6浣峎indows杞崲鎴怶in32鏃訛紝鍏徃鍐沖畾闇瑕佸瓧絎︿覆鐨勬墍鏈塁OM鎺ュ彛鏂規硶閮藉彧鑳芥帴鍙桿nicode瀛楃涓層?

4. 濡備綍緙栧啓Unicode婧愪唬鐮侊紵
Microsoft鍏徃涓篣nicode璁捐浜哤indowsAPI錛岃繖鏍鳳紝鍙互灝介噺鍑忓皯浠g爜鐨勫獎鍝嶃傚疄闄呬笂錛屽彲浠ョ紪鍐欏崟涓簮浠g爜鏂囦歡錛屼互渚夸嬌鐢ㄦ垨鑰呬笉浣跨敤Unicode鏉ュ瀹冭繘琛岀紪璇戙傚彧闇瑕佸畾涔変袱涓畯(UNICODE鍜宊UNICODE)錛屽氨鍙互淇敼鐒跺悗閲嶆柊緙栬瘧璇ユ簮鏂囦歡銆?br>_UNICODE瀹忕敤浜嶤榪愯鏈熷ご鏂囦歡錛岃孶NICODE瀹忓垯鐢ㄤ簬Windows澶存枃浠躲傚綋緙栬瘧婧愪唬鐮佹ā鍧楁椂錛岄氬父蹇呴』鍚屾椂瀹氫箟榪欎袱涓畯銆?

5. Windows瀹氫箟鐨刄nicode鏁版嵁綾誨瀷鏈夊摢浜涳紵
鏁版嵁綾誨瀷 璇存槑
WCHAR Unicode瀛楃
PWSTR 鎸囧悜Unicode瀛楃涓茬殑鎸囬拡
PCWSTR 鎸囧悜涓涓亽瀹氱殑Unicode瀛楃涓茬殑鎸囬拡
瀵瑰簲鐨凙NSI鏁版嵁綾誨瀷涓篊HAR錛孡PSTR鍜孡PCSTR銆?br>ANSI/Unicode閫氱敤鏁版嵁綾誨瀷涓篢CHAR錛孭TSTR,LPCTSTR銆?

6. 濡備綍瀵筓nicode榪涜鎿嶄綔錛?br>瀛楃闆?鐗規?瀹炰緥
ANSI 鎿嶄綔鍑芥暟浠tr寮澶?strcpy
Unicode 鎿嶄綔鍑芥暟浠cs寮澶?wcscpy
MBCS 鎿嶄綔鍑芥暟浠mbs寮澶?_mbscpy
ANSI/Unicode 鎿嶄綔鍑芥暟浠tcs寮澶?_tcscpy(C榪愯鏈熷簱)
ANSI/Unicode 鎿嶄綔鍑芥暟浠str寮澶?lstrcpy(Windows鍑芥暟)
鎵鏈夋柊鐨勫拰鏈繃鏃剁殑鍑芥暟鍦╓indows2000涓兘鍚屾椂鎷ユ湁ANSI鍜孶nicode涓や釜鐗堟湰銆侫NSI鐗堟湰鍑芥暟緇撳熬浠琛ㄧず錛沀nicode鐗堟湰鍑芥暟緇撳熬浠琛ㄧず銆俉indows浼氬涓嬪畾涔夛細
#ifdef UNICODE
#define CreateWindowEx CreateWindowExW
#else
#define CreateWindowEx CreateWindowExA
#endif // !UNICODE

7. 濡備綍琛ㄧずUnicode瀛楃涓插父閲忥紵
瀛楃闆?瀹炰緥
ANSI "string"
Unicode L"string"
ANSI/Unicode T("string")鎴朹TEXT("string")if( szError[0] == _TEXT('J') ){}

8. 涓轟粈涔堝簲褰撳敖閲忎嬌鐢ㄦ搷浣滅郴緇熷嚱鏁幫紵
榪欏皢鏈夊姪浜庣◢紼嶆彁楂樺簲鐢ㄧ▼搴忕殑榪愯鎬ц兘錛屽洜涓烘搷浣滅郴緇熷瓧絎︿覆鍑芥暟甯稿父琚ぇ鍨嬪簲鐢ㄧ▼搴忔瘮濡傛搷浣滅郴緇熺殑澶栧3榪涚▼Explorer.exe鎵浣跨敤銆傜敱浜庤繖浜涘嚱鏁頒嬌鐢ㄥ緱寰堝錛屽洜姝わ紝鍦ㄥ簲鐢ㄧ▼搴忚繍琛屾椂錛屽畠浠彲鑳藉凡緇忚瑁呭叆RAM銆?br>濡傦細StrCat錛孲trChr錛孲trCmp鍜孲trCpy絳夈?

9. 濡備綍緙栧啓絎﹀悎ANSI鍜孶nicode鐨勫簲鐢ㄧ▼搴忥紵
(1) 灝嗘枃鏈覆瑙嗕負瀛楃鏁扮粍錛岃屼笉鏄痗hars鏁扮粍鎴栧瓧鑺傛暟緇勩?br>(2) 灝嗛氱敤鏁版嵁綾誨瀷(濡俆CHAR鍜孭TSTR)鐢ㄤ簬鏂囨湰瀛楃鍜屽瓧絎︿覆銆?br>(3) 灝嗘樉寮忔暟鎹被鍨?濡侭YTE鍜孭BYTE)鐢ㄤ簬瀛楄妭銆佸瓧鑺傛寚閽堝拰鏁版嵁緙撳瓨銆?br>(4) 灝員EXT瀹忕敤浜庡師涔夊瓧絎﹀拰瀛楃涓層?br>(5) 鎵ц鍏ㄥ眬鎬ф浛鎹?渚嬪鐢≒TSTR鏇挎崲PSTR)銆?br>(6) 淇敼瀛楃涓茶繍綆楅棶棰樸備緥濡傚嚱鏁伴氬父甯屾湜鍦ㄥ瓧絎︿腑浼犻掍竴涓紦瀛樼殑澶у皬錛岃屼笉鏄瓧鑺傘傝繖鎰忓懗鐫涓嶅簲璇ヤ紶閫抯izeof(szBuffer),鑰屽簲璇ヤ紶閫?sizeof(szBuffer)/sizeof(TCHAR)銆傚彟澶栵紝濡傛灉闇瑕佷負瀛楃涓插垎閰嶄竴涓唴瀛樺潡錛屽茍涓旀嫢鏈夎瀛楃涓蹭腑鐨勫瓧絎︽暟鐩紝閭d箞璇瘋浣忚鎸夊瓧鑺傛潵鍒嗛厤鍐呭瓨銆傝繖灝辨槸璇達紝搴旇璋冪敤
malloc(nCharacters *sizeof(TCHAR)),鑰屼笉鏄皟鐢╩alloc(nCharacters)銆?

10. 濡備綍瀵瑰瓧絎︿覆榪涜鏈夐夋嫨鐨勬瘮杈冿紵
閫氳繃璋冪敤CompareString鏉ュ疄鐜般?br>鏍囧織 鍚箟
NORM_IGNORECASE 蹇界暐瀛楁瘝鐨勫ぇ灝忓啓
NORM_IGNOREKANATYPE 涓嶅尯鍒嗗鉤鍋囧悕涓庣墖鍋囧悕瀛楃
NORM_IGNORENONSPACE 蹇界暐鏃犻棿闅斿瓧絎?br>NORM_IGNORESYMBOLS 蹇界暐絎﹀彿
NORM_IGNOREWIDTH 涓嶅尯鍒嗗崟瀛楄妭瀛楃涓庝綔涓哄弻瀛楄妭瀛楃鐨勫悓涓涓瓧絎?br>SORT_STRINGSORT 灝嗘爣鐐圭鍙蜂綔涓烘櫘閫氱鍙鋒潵澶勭悊

11. 濡備綍鍒ゆ柇涓涓枃鏈枃浠舵槸ANSI榪樻槸Unicode錛?br>鍒ゆ柇濡傛灉鏂囨湰鏂囦歡鐨勫紑澶翠袱涓瓧鑺傛槸0xFF鍜?xFE錛岄偅涔堝氨鏄疷nicode錛屽惁鍒欐槸ANSI銆?

12. 濡備綍鍒ゆ柇涓孌靛瓧絎︿覆鏄疉NSI榪樻槸Unicode錛?br>鐢↖sTextUnicode榪涜鍒ゆ柇銆侷sTextUnicode浣跨敤涓緋誨垪緇熻鏂規硶鍜屽畾鎬ф柟娉曪紝浠ヤ究鐚滄祴緙撳瓨鐨勫唴瀹廣傜敱浜庤繖涓嶆槸涓縐嶇‘鍒囩殑縐戝鏂規硶錛屽洜姝?IsTextUnicode鏈夊彲鑳借繑鍥炰笉姝g‘鐨勭粨鏋溿?

13. 濡備綍鍦║nicode涓嶢NSI涔嬮棿杞崲瀛楃涓詫紵
Windows鍑芥暟MultiByteToWideChar鐢ㄤ簬灝嗗瀛楄妭瀛楃涓茶漿鎹㈡垚瀹藉瓧絎︿覆錛涘嚱鏁癢ideCharToMultiByte灝嗗瀛楃涓茶漿鎹㈡垚絳変環鐨勫瀛楄妭瀛楃涓層?/p>

]]>
.net涓璞″簭鍒楀寲鎶鏈祬璋圼杞琞http://m.shnenglu.com/xingmuxixi/archive/2010/02/02/107028.html閱掔洰瑗胯タ閱掔洰瑗胯タTue, 02 Feb 2010 10:01:00 GMThttp://m.shnenglu.com/xingmuxixi/archive/2010/02/02/107028.htmlhttp://m.shnenglu.com/xingmuxixi/comments/107028.htmlhttp://m.shnenglu.com/xingmuxixi/archive/2010/02/02/107028.html#Feedback0http://m.shnenglu.com/xingmuxixi/comments/commentRss/107028.htmlhttp://m.shnenglu.com/xingmuxixi/services/trackbacks/107028.html搴忓垪鍖栨槸灝嗗璞$姸鎬佽漿鎹負鍙繚鎸佹垨浼犺緭鐨勬牸寮忕殑榪囩▼銆備笌搴忓垪鍖栫浉瀵圭殑鏄弽搴忓垪鍖栵紝瀹冨皢嫻佽漿鎹負瀵硅薄銆傝繖涓や釜榪囩▼緇撳悎璧鋒潵錛屽彲浠ヨ交鏉懼湴瀛樺偍鍜屼紶杈撴暟鎹備緥濡傦紝鍙互搴忓垪鍖栦竴涓璞★紝鐒跺悗浣跨敤 HTTP 閫氳繃 Internet 鍦ㄥ鎴風鍜屾湇鍔″櫒涔嬮棿浼犺緭璇ュ璞°傚弽涔嬶紝鍙嶅簭鍒楀寲鏍規嵁嫻侀噸鏂版瀯閫犲璞°傛澶栬繕鍙互灝嗗璞″簭鍒楀寲鍚庝繚瀛樺埌鏈湴錛屽啀嬈¤繍琛岀殑鏃跺欏彲浠ヤ粠鏈湴鏂囦歡涓?#8220;鎭㈠”瀵硅薄鍒板簭鍒楀寲涔嬪墠鐨勭姸鎬併?br>鍦?net涓湁鎻愪緵浜嗗嚑縐嶅簭鍒楀寲鐨勬柟寮忥細
浜岃繘鍒跺簭鍒楀寲
XML搴忓垪鍖?br>SOAP搴忓垪鍖?/p>

浜岃繘鍒跺簭鍒楀寲
鎵璋撲簩榪涘埗搴忓垪鍖栵紝鎸囩殑鏄璞″簭鍒楀寲涔嬪悗鏄簩榪涘埗褰㈠紡鐨勩備簩榪涘埗搴忓垪鍖栨槸閫氳繃BinaryFormatter綾繪潵瀹炵幇鐨勶紝榪欎釜綾諱綅浜嶴ystem.Runtime.Serialization.Formatters.Binary鍛藉悕絀洪棿涓嬨?/p>

XML搴忓垪鍖?br>鎵璋揦ML搴忓垪鍖栵紝鏄寚瀵硅薄搴忓垪鍖栦箣鍚庣殑緇撴灉鏄疿ML褰㈠紡鐨勩備繚瀛榅ML搴忓垪鍖栨槸閫氳繃XmlSerializer 綾繪潵瀹炵幇鐨勶紝 榪欎釜綾諱綅浜嶴ystem.Xml.Serialization鍛藉悕絀洪棿涓嬨?/p>

SOAP搴忓垪鍖?br>鎵璋揝OAP搴忓垪鍖栨槸鎸囧璞″簭鍒楀寲涔嬪悗鐨勭粨鏋滅鍚圫OAP鍗忚錛屼篃灝辨槸鍙互閫氳繃SOAP鍗忚浼犺緭錛堜笉鐭ラ亾SOAP鍗忚錛熺櫨搴︿竴涓嬪惂錛夈係OAP搴忓垪鍖栨槸閫氳繃SoapFormatter綾繪潵瀹炵幇鐨勶紝榪欎釜綾諱綅浜嶴ystem.Runtime.Serialization.Formatters.Soap鍛藉悕絀洪棿涓嬶紝騫朵笖闇瑕佹敞鎰忛渶瑕佹墜鍔ㄦ坊鍔犲榪欎釜鍛藉悕絀洪棿鐨勫紩鐢紝濡備笅鍥炬墍紺猴細
 

涓嬮潰緙栧啓涓涓被鐢ㄤ簬搴忓垪鍖栧拰鍙嶅簭鍒楀寲錛岃繖涓被鐨勪唬鐮佸涓嬶細

using System;  
using System.Collections.Generic;  
using System.Text;  
 
namespace MySerializeDemo  
{  
    [Serializable]  
    /// <summary>  
    /// 瑕佸簭鍒楀寲鐨勫璞?nbsp; 
    /// 浣滆咃細鍛ㄥ叕  
    /// 緙栧啓鏃墮棿錛?009-03-10  
    /// </summary>  
    public class MyObject  
    {  
        //[NonSerialized]  
        private string name;  
        private DateTime birthday;  
        private string homePlace;  
        /// <summary>  
        /// 鍑虹敓鍦?nbsp; 
        /// </summary>  
        public string HomePlace  
        {  
            get { return homePlace; }  
            set { homePlace = value; }  
        }  
   
        /// <summary>  
        /// 鐢熸棩  
        /// </summary>  
        public DateTime Birthday  
        {  
            get { return birthday; }  
            set { birthday = value; }  
        }  
   
        /// <summary>  
        /// 濮撳悕  
        /// </summary>  
        public string Name  
        {  
            get { return name; }  
            set { name = value; }  
        }  
   
        /// <summary>  
        /// 騫撮緞  
        /// </summary>  
        public int Age  
        {  
            get { return DateTime.Now.Year - birthday.Year; }  
        }  
        /// <summary>  
        /// override浜員oString()鏂規硶  
        /// </summary>  
        /// <returns></returns>  
        public override string ToString()  
        {  
            return string.Format("濮撳悕錛歿0},鐢熸棩錛歿1},鍑虹敓鍦幫細{2},騫撮緞錛歿3}",name,birthday,homePlace,Age);  
        }  
   
    }  

using System;
using System.Collections.Generic;
using System.Text;

namespace MySerializeDemo
{
    [Serializable]
    /// <summary>
    /// 瑕佸簭鍒楀寲鐨勫璞?br>    /// 浣滆咃細鍛ㄥ叕
    /// 緙栧啓鏃墮棿錛?009-03-10
    /// </summary>
    public class MyObject
    {
        //[NonSerialized]
        private string name;
        private DateTime birthday;
        private string homePlace;
        /// <summary>
        /// 鍑虹敓鍦?br>        /// </summary>
        public string HomePlace
        {
            get { return homePlace; }
            set { homePlace = value; }
        }
 
        /// <summary>
        /// 鐢熸棩
        /// </summary>
        public DateTime Birthday
        {
            get { return birthday; }
            set { birthday = value; }
        }
 
        /// <summary>
        /// 濮撳悕
        /// </summary>
        public string Name
        {
            get { return name; }
            set { name = value; }
        }
 
        /// <summary>
        /// 騫撮緞
        /// </summary>
        public int Age
        {
            get { return DateTime.Now.Year - birthday.Year; }
        }
        /// <summary>
        /// override浜員oString()鏂規硶
        /// </summary>
        /// <returns></returns>
        public override string ToString()
        {
            return string.Format("濮撳悕錛歿0},鐢熸棩錛歿1},鍑虹敓鍦幫細{2},騫撮緞錛歿3}",name,birthday,homePlace,Age);
        }
 
    }
}
涓嬮潰鏄垎鍒敤涓婇潰鐨勪笁涓被榪涜搴忓垪鍖栧拰鍙嶅簭鍒楀寲鐨勪唬鐮侊細

view plaincopy to clipboardprint?
using System;  
using System.Collections.Generic;  
using System.Text;  
using System.IO;  
using System.Runtime.Serialization.Formatters;  
using System.Runtime.Serialization.Formatters.Binary;  
using System.Runtime.Serialization.Formatters.Soap;  
using System.Xml.Serialization;  
 
namespace MySerializeDemo  
{  
    class Program  
    {  
        static void Main(string[] args)  
        {  
            MyObject obj = new MyObject();  
            obj.Birthday = new DateTime(1979, 11, 7);  
            obj.HomePlace = "婀栧寳";  
            obj.Name = "鍛ㄥ叕";  
            Console.WriteLine("========浣跨敤BinaryFormatter綾昏繘琛屽簭鍒楀寲鍜屽弽搴忓垪鍖栥?===");  
            BinarySerialize(obj);  
            BinaryDeserialize("C:\\MyObject.dat");  
            Console.WriteLine("========浣跨敤SoapFormatter綾昏繘琛屽簭鍒楀寲鍜屽弽搴忓垪鍖栥?===");  
            SOAPSerialize(obj);  
            SOAPDeserialize("C:\\MyObject.soap");  
            Console.WriteLine("========浣跨敤XmlSerializer綾昏繘琛屽簭鍒楀寲鍜屽弽搴忓垪鍖栥?===");  
            XMLSerialize(obj);  
            XMLDeserialize("C:\\MyObject.xml");  
        }  
        /// <summary>  
        /// 浜岃繘鍒跺簭鍒楀寲瀵硅薄  
        /// </summary>  
        /// <param name="obj"></param>  
        public static void BinarySerialize(MyObject obj)  
        {  
            using (FileStream stream = new FileStream("C:\\MyObject.dat", FileMode.Create, FileAccess.Write))  
            {  
                BinaryFormatter formater = new BinaryFormatter();  
                formater.Serialize(stream, obj);  
                Console.WriteLine("瀵硅薄宸茬粡琚簭鍒楀寲銆? + obj.ToString());  
            }  
        }  
        /// <summary>  
        /// 浜岃繘鍒跺弽搴忓垪鍖?nbsp; 
        /// </summary>  
        /// <param name="fileName"></param>  
        public static void BinaryDeserialize(string fileName)  
        {  
            using (FileStream stream = new FileStream(fileName, FileMode.Open, FileAccess.Read))  
            {  
                BinaryFormatter formater = new BinaryFormatter();  
                MyObject obj=(MyObject)formater.Deserialize(stream);  
                Console.WriteLine("瀵硅薄宸茬粡琚弽搴忓垪鍖栥? + obj.ToString());  
            }  
        }  
 
        /// <summary>  
        /// 浜岃繘鍒跺簭鍒楀寲瀵硅薄  
        /// </summary>  
        /// <param name="obj"></param>  
        public static void SOAPSerialize(MyObject obj)  
        {  
            using (FileStream stream = new FileStream("C:\\MyObject.soap", FileMode.Create, FileAccess.Write))  
            {  
                SoapFormatter formater = new SoapFormatter();  
                formater.Serialize(stream, obj);  
                Console.WriteLine("瀵硅薄宸茬粡琚簭鍒楀寲銆? + obj.ToString());  
            }  
        }  
        /// <summary>  
        /// 浜岃繘鍒跺弽搴忓垪鍖?nbsp; 
        /// </summary>  
        /// <param name="fileName"></param>  
        public static void SOAPDeserialize(string fileName)  
        {  
            using (FileStream stream = new FileStream(fileName, FileMode.Open, FileAccess.Read))  
            {  
                SoapFormatter formater = new SoapFormatter();  
                MyObject obj = (MyObject)formater.Deserialize(stream);  
                Console.WriteLine("瀵硅薄宸茬粡琚弽搴忓垪鍖栥? + obj.ToString());  
            }  
        }  
        /// <summary>  
        /// XML搴忓垪鍖?nbsp; 
        /// </summary>  
        /// <param name="obj"></param>  
        public static void XMLSerialize(MyObject obj)  
        {  
            using (FileStream stream = new FileStream("C:\\MyObject.xml", FileMode.Create, FileAccess.Write))  
            {  
                XmlSerializer serializer = new XmlSerializer(typeof(MyObject));  
                serializer.Serialize(stream, obj);  
                Console.WriteLine("瀵硅薄宸茬粡琚簭鍒楀寲銆? + obj.ToString());  
            }  
        }  
        /// <summary>  
        /// XML鍙嶅簭鍒楀寲  
        /// </summary>  
        /// <param name="fileName"></param>  
        public static void XMLDeserialize(string fileName)  
        {  
            using (FileStream stream = new FileStream(fileName, FileMode.Open, FileAccess.Read))  
            {  
                XmlSerializer serializer = new XmlSerializer(typeof(MyObject));  
                MyObject obj = (MyObject)serializer.Deserialize(stream);  
                Console.WriteLine("瀵硅薄宸茬粡琚弽搴忓垪鍖栥? + obj.ToString());  
            }  
        }  
    }  

using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using System.Runtime.Serialization.Formatters;
using System.Runtime.Serialization.Formatters.Binary;
using System.Runtime.Serialization.Formatters.Soap;
using System.Xml.Serialization;

namespace MySerializeDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            MyObject obj = new MyObject();
            obj.Birthday = new DateTime(1979, 11, 7);
            obj.HomePlace = "婀栧寳";
            obj.Name = "鍛ㄥ叕";
            Console.WriteLine("========浣跨敤BinaryFormatter綾昏繘琛屽簭鍒楀寲鍜屽弽搴忓垪鍖栥?===");
            BinarySerialize(obj);
            BinaryDeserialize("C:\\MyObject.dat");
            Console.WriteLine("========浣跨敤SoapFormatter綾昏繘琛屽簭鍒楀寲鍜屽弽搴忓垪鍖栥?===");
            SOAPSerialize(obj);
            SOAPDeserialize("C:\\MyObject.soap");
            Console.WriteLine("========浣跨敤XmlSerializer綾昏繘琛屽簭鍒楀寲鍜屽弽搴忓垪鍖栥?===");
            XMLSerialize(obj);
            XMLDeserialize("C:\\MyObject.xml");
        }
        /// <summary>
        /// 浜岃繘鍒跺簭鍒楀寲瀵硅薄
        /// </summary>
        /// <param name="obj"></param>
        public static void BinarySerialize(MyObject obj)
        {
            using (FileStream stream = new FileStream("C:\\MyObject.dat", FileMode.Create, FileAccess.Write))
            {
                BinaryFormatter formater = new BinaryFormatter();
                formater.Serialize(stream, obj);
                Console.WriteLine("瀵硅薄宸茬粡琚簭鍒楀寲銆? + obj.ToString());
            }
        }
        /// <summary>
        /// 浜岃繘鍒跺弽搴忓垪鍖?br>        /// </summary>
        /// <param name="fileName"></param>
        public static void BinaryDeserialize(string fileName)
        {
            using (FileStream stream = new FileStream(fileName, FileMode.Open, FileAccess.Read))
            {
                BinaryFormatter formater = new BinaryFormatter();
                MyObject obj=(MyObject)formater.Deserialize(stream);
                Console.WriteLine("瀵硅薄宸茬粡琚弽搴忓垪鍖栥? + obj.ToString());
            }
        }

        /// <summary>
        /// 浜岃繘鍒跺簭鍒楀寲瀵硅薄
        /// </summary>
        /// <param name="obj"></param>
        public static void SOAPSerialize(MyObject obj)
        {
            using (FileStream stream = new FileStream("C:\\MyObject.soap", FileMode.Create, FileAccess.Write))
            {
                SoapFormatter formater = new SoapFormatter();
                formater.Serialize(stream, obj);
                Console.WriteLine("瀵硅薄宸茬粡琚簭鍒楀寲銆? + obj.ToString());
            }
        }
        /// <summary>
        /// 浜岃繘鍒跺弽搴忓垪鍖?br>        /// </summary>
        /// <param name="fileName"></param>
        public static void SOAPDeserialize(string fileName)
        {
            using (FileStream stream = new FileStream(fileName, FileMode.Open, FileAccess.Read))
            {
                SoapFormatter formater = new SoapFormatter();
                MyObject obj = (MyObject)formater.Deserialize(stream);
                Console.WriteLine("瀵硅薄宸茬粡琚弽搴忓垪鍖栥? + obj.ToString());
            }
        }
        /// <summary>
        /// XML搴忓垪鍖?br>        /// </summary>
        /// <param name="obj"></param>
        public static void XMLSerialize(MyObject obj)
        {
            using (FileStream stream = new FileStream("C:\\MyObject.xml", FileMode.Create, FileAccess.Write))
            {
                XmlSerializer serializer = new XmlSerializer(typeof(MyObject));
                serializer.Serialize(stream, obj);
                Console.WriteLine("瀵硅薄宸茬粡琚簭鍒楀寲銆? + obj.ToString());
            }
        }
        /// <summary>
        /// XML鍙嶅簭鍒楀寲
        /// </summary>
        /// <param name="fileName"></param>
        public static void XMLDeserialize(string fileName)
        {
            using (FileStream stream = new FileStream(fileName, FileMode.Open, FileAccess.Read))
            {
                XmlSerializer serializer = new XmlSerializer(typeof(MyObject));
                MyObject obj = (MyObject)serializer.Deserialize(stream);
                Console.WriteLine("瀵硅薄宸茬粡琚弽搴忓垪鍖栥? + obj.ToString());
            }
        }
    }
}
榪欎釜紼嬪簭鐨勮繍琛屾晥鏋滃涓嬶細
 
鍙閫氳繃涓婇潰涓変釜綾婚兘鑳藉疄鐜板皢瀵硅薄搴忓垪鍖栦繚瀛橈紝騫朵笖閮借兘鍙嶅簭鍒楀寲榪樺師鍒板璞¤搴忓垪鍖栦箣鍓嶇殑鐘舵侊紙榪欐鏄簭鍒楀寲鎰忎箟鎵鍦紝鑳戒繚瀛樺璞¤繍琛屾椂鐨勭姸鎬佸茍涓旇繕鑳借繕鍘燂級銆傚鏋滆繍琛屼笂闈㈢殑浠g爜浼氬湪C鐩樻牴鐩綍涓嬪垱寤轟笁涓枃浠訛紝鍒嗗埆鏄疢yObject.dat銆丮yObject.soap鍜孧yObject.xml鏂囦歡錛屽洜涓篗yObject.dat鏄簩榪涘埗鏂囦歡錛屾墍浠ユ棤娉曟煡鐪嬫枃浠剁殑鍐呭錛屼絾鏄垜浠彲浠ユ墦寮MyObject.soap鍜孧yObject.xml榪欎袱涓枃浠舵潵姣旇緝涓涓嬫湁浠涔堝尯鍒?br>MyObject.soap鏂囦歡鐨勫悗緙铏界劧鏄?soap錛屼絾鏄繕鏄彲浠ョ敤璁頒簨鏈墦寮鐨勶紝涓嬮潰鏄疢yObject.soap鏂囦歡鐨勫唴瀹癸細
view plaincopy to clipboardprint?
<SOAP-ENV:Envelope xmlns:xsi="<birthday>1979-11-07T00:00:00.0000000+08:00</birthday> 
<homePlace id="ref-4">婀栧寳</homePlace> 
</a1:MyObject> 
</SOAP-ENV:Body> 
</SOAP-ENV:Envelope> 
<SOAP-ENV:Envelope xmlns:xsi="
<birthday>1979-11-07T00:00:00.0000000+08:00</birthday>
<homePlace id="ref-4">婀栧寳</homePlace>
</a1:MyObject>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
MyObject.xml鏂囦歡涔熷彲浠ョ敤璁頒簨鏈墦寮錛屽畠鐨勫唴瀹瑰涓嬶細

view plaincopy to clipboardprint?
<?xml version="1.0"?> 
<MyObject xmlns:xsi="
<MyObject xmlns:xsi="

]]>
C# winform 瀹炵幇(涓嶈鍒?紿椾綋鎴栬呮帶浠剁殑鎷栧姩http://m.shnenglu.com/xingmuxixi/archive/2010/01/27/106510.html閱掔洰瑗胯タ閱掔洰瑗胯タWed, 27 Jan 2010 02:30:00 GMThttp://m.shnenglu.com/xingmuxixi/archive/2010/01/27/106510.htmlhttp://m.shnenglu.com/xingmuxixi/comments/106510.htmlhttp://m.shnenglu.com/xingmuxixi/archive/2010/01/27/106510.html#Feedback0http://m.shnenglu.com/xingmuxixi/comments/commentRss/106510.htmlhttp://m.shnenglu.com/xingmuxixi/services/trackbacks/106510.html鏂規硶涓: 紿椾綋鎴栬呮帶浠剁殑鎷栧姩

   private Point m_MousePoint;
private Point m_LastPoint;

  protected override void OnMouseDown(MouseEventArgs e)
{
base.OnMouseDown(e);
this.m_LastPoint = this.Location;
this.m_MousePoint = this.PointToScreen(e.Location);
}


protected override void OnMouseMove(MouseEventArgs e)
{
base.OnMouseMove(e);
if (e.Button == MouseButtons.Left)
{
Point t = this.PointToScreen(e.Location);
Point l = this.m_LastPoint;

        l.Offset(t.X - this.m_MousePoint.X, t.Y - this.m_MousePoint.Y);
this.Location = l;
}
}

1 浠g爜鐩存帴澶嶅埗鍒扮獥浣撲笂灝卞彲浠ヤ嬌鐢?

2 鍙互鐢ㄥ埌UserControl涓?UserControl灝辨垚浜嗕竴涓彲鎷栧姩鐨勬帶浠朵簡

3 鍙互鐢ㄥ埌鑷畾涔夋帶浠朵笂,渚嬪:鑷畾涔夋帶浠剁戶鎵夸簡涓涓狟utton ,鐒跺悗鍐欎笂涓婇潰浠g爜,閭d箞榪欎釜鑷畾涔塀utton灝卞彲浠ュ湪Form紿椾綋涓婇殢澶勬嫋鍔?...

 鏂規硶浜? 涓嶈鍒欑獥浣撴嫋鍔?/p>

using System.Runtime.InteropServices;

[DllImport("user32.dll")]
public static extern bool ReleaseCapture();
[DllImport("user32.dll")]
public static extern bool SendMessage(IntPtr hwnd, int wMsg, int wParam, int lParam);
public const int WM_SYSCOMMAND = 0x0112;
public const int SC_MOVE = 0xF010;
public const int HTCAPTION = 0x0002;

public void ShapedForm_MouseDown(object sender, MouseEventArgs e)
{
ReleaseCapture();
SendMessage(this.Handle, WM_SYSCOMMAND, SC_MOVE + HTCAPTION, 0);
}


鏂規硶浜?姣旇緝濂?,鑳藉鐢誨嚭 铏氱嚎妗?璺焀indows鐨勭獥浣撴嫋鍔ㄤ竴鏍?..........



]]>
servlet涓皟鐢‥JBhttp://m.shnenglu.com/xingmuxixi/archive/2010/01/14/105669.html閱掔洰瑗胯タ閱掔洰瑗胯タThu, 14 Jan 2010 09:00:00 GMThttp://m.shnenglu.com/xingmuxixi/archive/2010/01/14/105669.htmlhttp://m.shnenglu.com/xingmuxixi/comments/105669.htmlhttp://m.shnenglu.com/xingmuxixi/archive/2010/01/14/105669.html#Feedback0http://m.shnenglu.com/xingmuxixi/comments/commentRss/105669.htmlhttp://m.shnenglu.com/xingmuxixi/services/trackbacks/105669.html闃呰鍏ㄦ枃

]]>
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
      <noscript id="pjuwb"></noscript>
            <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
              <dd id="pjuwb"></dd>
              <abbr id="pjuwb"></abbr>
              午夜天堂精品久久久久| 另类欧美日韩国产在线| 久久综合给合久久狠狠色| 欧美一级专区| 久久久噜噜噜久久| 欧美成人免费在线观看| 欧美激情女人20p| 亚洲精品小视频| 亚洲伊人一本大道中文字幕| 羞羞色国产精品| 久久一区二区三区四区五区| 欧美激情一区二区三区四区| 欧美网站在线观看| 国产色产综合产在线视频| 一区在线电影| 亚洲色在线视频| 欧美一二三区在线观看| 蜜桃av一区二区| 一区二区三区国产精品| 久久成人精品视频| 欧美日韩国产123| 国内精品久久久久久久果冻传媒 | 欧美色另类天堂2015| 国产精品xxx在线观看www| 一区二区日韩精品| 欧美影片第一页| 久久香蕉国产线看观看av| 欧美日韩国产一中文字不卡| 国产精自产拍久久久久久| 亚洲成人原创| 欧美在线你懂的| 91久久精品国产91久久性色| 亚洲经典自拍| 久久国产视频网站| 国产精品久久久久久久久久免费看| 狠狠综合久久| 亚洲永久精品国产| 亚洲国产三级| 久久午夜视频| 国产主播喷水一区二区| 亚洲一区自拍| 日韩一级片网址| 免费在线观看日韩欧美| 国产一区久久| 欧美专区在线| 在线综合欧美| 欧美日韩国产在线播放| 91久久国产综合久久蜜月精品| 欧美在线一二三四区| 日韩亚洲欧美成人| 欧美激情一区在线观看| 在线观看不卡av| 久久精品免费播放| 亚洲欧美经典视频| 国产农村妇女精品| 亚洲欧美日韩中文视频| 一二三四社区欧美黄| 欧美日本一区| 在线综合欧美| 在线一区欧美| 国产精品自拍小视频| 午夜视频在线观看一区| 中国亚洲黄色| 国产精品一区二区女厕厕| 亚洲综合色网站| 亚洲欧美国产毛片在线| 国产精品日韩精品欧美精品| 午夜精品三级视频福利| 亚洲自拍偷拍视频| 国产日本欧美一区二区三区在线| 欧美一区国产二区| 欧美在线观看视频| 伊人久久综合| 亚洲欧洲综合另类在线| 欧美日韩激情网| 亚洲女人天堂av| 欧美在线观看视频| 亚洲国产精品一区二区久| 亚洲激情图片小说视频| 欧美揉bbbbb揉bbbbb| 欧美在线视频网站| 亚洲欧美经典视频| 久久午夜精品| 欧美a级一区二区| 久久综合色婷婷| 日韩亚洲欧美中文三级| 在线视频你懂得一区二区三区| 国产麻豆精品theporn| 久久在线91| 欧美日本乱大交xxxxx| 亚洲欧美在线免费观看| 久久久国产精品一区二区三区| 亚洲精品无人区| 亚洲欧美日韩国产| 亚洲人成网站999久久久综合| 久久国产精品一区二区| 激情亚洲一区二区三区四区| 亚洲日本中文| 激情综合色综合久久| 亚洲国产一区二区三区a毛片| 国产精品高潮粉嫩av| 久久午夜羞羞影院免费观看| 欧美国产综合| 久久免费黄色| 国产精品福利影院| 欧美大尺度在线观看| 国产女人精品视频| 欧美18av| 久久久综合香蕉尹人综合网| 欧美日韩国产综合一区二区| 免费观看在线综合色| 国产精品久久久久9999吃药| 欧美激情一二三区| 国产一区观看| 亚洲欧美日韩精品| 亚洲天堂网站在线观看视频| 美女脱光内衣内裤视频久久影院 | 久久亚洲欧美| 欧美一区二区三区免费看| 欧美激情bt| 免费久久99精品国产自在现线| 国产精品久久久久久久久久久久| 亚洲国产精品一区二区第一页 | 欧美成人视屏| 免费不卡欧美自拍视频| 国产精品自拍三区| 亚洲欧美成aⅴ人在线观看| 一区二区三区 在线观看视频 | 午夜精品一区二区三区电影天堂 | 欧美在线综合视频| 欧美日韩 国产精品| 欧美国产免费| 亚洲国产精品传媒在线观看| 久久精品国产99精品国产亚洲性色| 国产一区 二区 三区一级| 一本到高清视频免费精品| 最新中文字幕亚洲| 久久色在线播放| 久久午夜精品一区二区| 国内成+人亚洲| 久久视频在线视频| 欧美福利视频在线| 亚洲人成网站在线播| 欧美成年人网站| 亚洲日产国产精品| 夜夜嗨av一区二区三区| 欧美日韩亚洲综合一区| aa亚洲婷婷| 欧美一区二区女人| 国产一区视频观看| 久久五月婷婷丁香社区| 亚洲国产精品久久久久久女王| 日韩视频一区| 国产精品久久久久影院亚瑟| 先锋影音一区二区三区| 久久久综合免费视频| 亚洲欧洲一区二区三区在线观看| 欧美激情影院| 亚洲欧美成人网| 欧美大尺度在线观看| 一个人看的www久久| 国产精品v日韩精品v欧美精品网站| 亚洲女人小视频在线观看| 美女国产一区| 在线一区二区三区做爰视频网站| 国产精品入口麻豆原神| 久久久国产午夜精品| 亚洲精品视频二区| 久久精品国产99国产精品| 亚洲国产一成人久久精品| 欧美色精品天天在线观看视频| 久久国产精品一区二区三区四区| 亚洲人成人一区二区三区| 香蕉尹人综合在线观看| 亚洲欧洲久久| 国产日韩专区| 欧美日韩hd| 久久久精品国产一区二区三区| 日韩视频免费在线| 美女黄网久久| 午夜精品免费| 一本到高清视频免费精品| 国内不卡一区二区三区| 欧美视频在线观看免费| 久久综合久久综合久久| 亚洲欧美日韩国产| 99精品欧美一区二区蜜桃免费| 老司机午夜免费精品视频| 亚洲一区二区三区高清| 亚洲黄色成人网| 国产一区二区三区四区| 欧美性猛交视频| 欧美精品 国产精品| 久久免费视频这里只有精品| 亚洲免费视频成人| 99xxxx成人网| 亚洲美女视频在线观看| 亚洲国产高清一区| 欧美va亚洲va香蕉在线| 久久嫩草精品久久久久|