需要的引用:using system.runtime.interopservices;
接收訊息//通過視窗的標題來查詢視窗的控制代碼
[dllimport("user32.dll", entrypoint = "findwindow")]
private static extern intptr findwindow(string lpclassname, string lpwindowname);
//訊息傳送api
[dllimport("user32.dll", entrypoint = "sendmessage")]
private static extern int sendmessage(
intptr hwnd, // 資訊發往的視窗的控制代碼
int msg, // 訊息id
int wparam, // 引數1
int lparam //引數2
);//自定義視窗名稱,例:
public enum windowsname
//自定義要傳送的訊息,例:
public enum msgtype
//傳送訊息的介面
public static void sendmsg(windowsname winname, msgtype msgtype)
}
所謂的委託其實就是觀察者,它會關心某種事件,一旦這種事件被觸發,這個觀察者就會行動。///重寫窗體的訊息處理函式defwndproc,從中加入自己定義訊息的檢測的處理入口
protected override void defwndproc(ref message m)
}break;
default:
base.defwndproc(ref m);
break;
}}
舉例如下,首先例項化乙個觀察者類ddownloadprogress,將事件跟我們定義的觀察者進行連線,這樣,每當ondownloadprogress事件被觸發,就會去通知這個觀察者,注意我們連線的時候使用的並不是直接的觀察者類例項中的**********_ondownloadprogress()方法,而是乙個委託,並在這個委託中傳遞**********_ondownloadprogress()方法。即我有乙個方法,但我委託你來幫我關聯到事件,因為事件只會直接跟委託打交道,而不是具體的某個方法。
public void startdownload()
public class **********
else}}
}void **********_ondownloadprogress(long total, long current)
);long test = current + 1;
label6.text = test.tostring() + "%";
label6.show();
}else
}
c 委託和委託事件
委託很好用,c 的委託有點函式指標的感覺,它能簡化判斷語句的使用,還能為視窗新增新的事件。weituo.cs using system using system.collections.generic using system.linq using system.text namespace fen...
c 委託事件
1,什麼是委託 委託是什麼?從生活理解就像是你是乙個c 程式設計師,你對c 並不了解,當需要進行c 分析的時候你委託給你的一位懂c 的同事幫你來完成 在c 中,委託的作用是這樣描述的 委託就像乙個函式的指標,在程式執行時可以使用它們來呼叫不同的函式。簡單點說,委託能夠引用函式,通過傳遞位址的機制完成...
初識委託 事件
這個是我剛入行第乙個感興趣的知識點,翻了翻不知道什麼時候記的筆記,覺得有必要把自己學的知識在梳理一遍,有一些點比當時更清晰 在這裡,先將一位大牛的部落格貼出來,有興趣的可以去看看,很詳細的介紹了委託與事件,讀了幾遍受益匪淺 c 中的委託和事件 c 中的委託和事件 續 本文例項是在vs2013下實現的...