91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

委托在Smobiler自定義控件中運用

發布時間:2020-07-12 19:34:21 來源:網絡 閱讀:350 作者:smobiler 欄目:編程語言

委托(Delegate)

C# 中的委托(Delegate)類似于 C 或 C++ 中函數的指針。委托(Delegate) 是存有對某個方法的引用的一種引用類型變量。可以將方法當作另一個方法的參數來進行傳遞。

委托(Delegate)特別用于實現事件和回調方法。所有的委托(Delegate)都派生自 System.Delegate 類。

使用委托,必須滿足4個條件:


聲明委托類型;
必須有一個方法包含了要執行的代碼;
必須創建一個委托實例;
必須調用(invoke)委托實例。


聲明委托

委托聲明決定了可由該委托引用的方法。委托可指向一個與其具有相同標簽的方法。

public delegate void MyDelegate (string a);

委托調用

必須先實例化委托,然后再調用。
例如:

public delegate void MyDelegate();
//實例化委托
printString ex1 = new MyDelegate();
//委托調用 通過Invoke()調用,或者可以直接省略
ex1.Invoke();

委托的應用

使用Smobiler的自定義控件時,往往需要在自定義控件中自定義事件,這時就可以運用到委托。
自定義控件的創建可自行查看smobiler官網中自定義控件內容。

應用場景,自定義控件中有button控件,需要點擊button觸發自定義控件的事件。
我們下面直接看下,如何使用:

partial class ExampleButton :Smobiler.Core.Controls.MobileUserControl
{
/// <summary>
/// 在刪除按鈕點擊時發生
/// </summary>
[Description("在刪除按鈕點擊時發生")]

public event EventHandler ButtonPress;
public ExampleButton() : base()
{
//This call is required by the SmobilerUserControl.
InitializeComponent();
}
private void SmobilerUserControl1_Load(object sender, EventArgs e)
{
button1.Press += (obj, args) => { this.OnButtonPress(); };
}
private void OnButtonPress()
{
if (ButtonPress != null) ButtonPress.Invoke(this, new EventArgs());
}
/// <summary>
/// 一個委托,它表示按鈕點擊時要調用的方法。
/// </summary>
/// <param name="sender">事件源</param>
/// <param name="e">包含事件數據的 DeletePress</param>
/// <remarks></remarks>
public delegate void EventHandler(object sender, EventArgs e);
}
之后可在Form中添加自定義控件查看:

委托在Smobiler自定義控件中運用
查看自定義控件的事件,我們發現已經添加事件成功:

委托在Smobiler自定義控件中運用

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

临漳县| 马山县| 东阿县| 武清区| 衡东县| 三门县| 平武县| 利川市| 彩票| 萨嘎县| 汉阴县| 团风县| 正定县| 定边县| 乌拉特后旗| 府谷县| 安义县| 广河县| 八宿县| 平山县| 长岭县| 平顶山市| 洛南县| 商洛市| 库车县| 永年县| 宁夏| 甘肃省| 孟村| 油尖旺区| 喀什市| 达州市| 平度市| 永济市| 灵武市| 大渡口区| 祁东县| 保定市| 昭通市| 宜城市| 凤庆县|