亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

委托在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

新乐市| 个旧市| 林甸县| 永修县| 简阳市| 远安县| 临江市| 博白县| 五大连池市| 大石桥市| 永昌县| 交口县| 巩留县| 新干县| 佛学| 新昌县| 南郑县| 天镇县| 道孚县| 峨山| 池州市| 蓬溪县| 汽车| 道真| 土默特左旗| 湛江市| 二手房| 太仆寺旗| 晋中市| 绥芬河市| 潍坊市| 芜湖市| 翁牛特旗| 台湾省| 大理市| 桂平市| 偃师市| 土默特右旗| 壶关县| 新兴县| 新巴尔虎左旗|