最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

[C#學(xué)習(xí)筆記16]WF項目結(jié)構(gòu)、Partial部分類、窗體與事件委托使用分析

2020-06-07 21:08 作者:技術(shù)龍的傳人  | 我要投稿

WinForm開發(fā)學(xué)習(xí)內(nèi)容:UI設(shè)計、數(shù)據(jù)庫應(yīng)用、基于C#+ADO.NET+SQLSever的系統(tǒng)開發(fā)

一、WinForm項目與窗體控件

????創(chuàng)建窗口應(yīng)用程序

????拖控件放到窗體界面中

????窗體界面按F7進(jìn)入窗體后臺程序

????雙擊界面中的控件自動生成控件單機事件方法及后臺生成將click事件和事件方法關(guān)聯(lián)

? ? 新建類MyForm.cs并繼承父窗體Form:

????????public?class MyForm:Form注意引用命名空間using?System.Windows.Froms

1.部分類的使用partial

????好處:讓自動生成的代碼后置,我們編寫程序的代碼顯得更加簡潔。

????特點:在最后編譯的時候,仍然編譯成一個窗體類。

form類構(gòu)造方法里初始化所有控件

主窗體使用FromMain命名

2.窗體和控件的基本使用、Event事件

????理解事件:

????????在.NET平臺上面,給我們所用的這些控件,封裝了很多的事件,所謂事件,就是對用戶操作的某一個行為,進(jìn)行封裝。

????????比如,當(dāng)用戶單擊一個按鈕的時候,單擊這個動作,已經(jīng)被封裝成了Click事件,那么我們只要把這個事件拿出來,

????????當(dāng)用戶觸發(fā)單擊這個動作的時候,也就是這個事件被調(diào)用了,我們就可以在這個事件中,完成我們需要的任務(wù)。

界面設(shè)計右鍵顯示菜單:

????ContextMenuScript控件拖入窗體界面中,添加相應(yīng)菜單選項,并在窗體屬性中找到相應(yīng)名字修改成右鍵對應(yīng)菜單顯示

按鍵屬性中閃電符號里面列出了按鍵的所有事件,手動將控件的事件和事件方法關(guān)聯(lián)(委托)

????this.btnTest.Click += new System.EventHandler(this.btnMyTest_Click);

事件方法:

????????private void btnMyTest_Click(object sender, EventArgs e)

? ? ? ? {

? ? ? ? ? ? //sender表示當(dāng)前控件的對象

? ? ? ? ? ? //Button btn = sender as Button;

? ? ? ? ? ? Button btn = (Button)sender;

? ? ? ? ? ? MessageBox.Show(btn.Tag.ToString());

? ? ? ? ? ? //可以動態(tài)的取消事件的關(guān)聯(lián)

? ? ? ? ? ? this.btnTest.Click -= new System.EventHandler(this.btnMyTest_Click);

? ? ? ? }

雙擊閃電圖表下的對應(yīng)事件,會自動產(chǎn)生事件方法并將控件的事件和事件方法關(guān)聯(lián)

? ? ? ?鼠標(biāo)放到控件上事件方法的實現(xiàn):

?????????private void btnTest_MouseEnter(object sender, EventArgs e)

? ? ? ? {

? ? ? ? ? ? //Button btn = (Button)sender;

? ? ? ? ? ? //MessageBox.Show(btn.Tag.ToString());

? ? ? ? }

取消的事件,通過閃電圖表下找到對應(yīng)事件單機選擇重置即可,注意事件方法還保留著,若不移除再次自動產(chǎn)生事件方法會重新生成并+_1后綴事件方法,不會覆蓋之前的,可以手動在閃電圖表下對應(yīng)事件右側(cè)選擇可選的事件方法。

窗體常用事件:

????load窗口控件初始化完成后要執(zhí)行的事件(一般不用)

????????//窗體所有控件和初始化完畢后要執(zhí)行的事件,我們通常不用

? ? ? ? private void FrmMain_Load(object sender, EventArgs e)

? ? ? ? {

? ? ? ? ? ? //不建議在這里編寫初始化內(nèi)容...

? ? ? ? }

????FormClosed窗口關(guān)閉后發(fā)生

?????????private void FrmMain_FormClosed(object sender, FormClosedEventArgs e)

? ? ? ? {

? ? ? ? ? ? //可以在這個地方編寫你要做的其他任務(wù)...

? ? ? ? ? ? MessageBox.Show("窗體已經(jīng)關(guān)閉");

? ? ? ? }

????FormClosing窗體關(guān)閉前發(fā)生(關(guān)閉前加提示框確認(rèn)是否要關(guān)閉窗體)

?????????//窗體關(guān)閉之前發(fā)生的

? ? ? ? private void FrmMain_FormClosing(object sender, FormClosingEventArgs e)

? ? ? ? {

? ? ? ? ? ? DialogResult result = MessageBox.Show("確認(rèn)要關(guān)閉窗體嗎?", "關(guān)閉確認(rèn)",?

? ? ? ? ? ? ? ? MessageBoxButtons.OKCancel,

? ? ? ? ? ? ? ? ? ?MessageBoxIcon.Question);

? ? ? ? ? ? if (result == DialogResult.Cancel)//用戶取消關(guān)閉

? ? ? ? ? ? {

? ? ? ? ? ? ? ? e.Cancel = true;

? ? ? ? ? ? }

? ? ? ? }


[C#學(xué)習(xí)筆記16]WF項目結(jié)構(gòu)、Partial部分類、窗體與事件委托使用分析的評論 (共 條)

分享到微博請遵守國家法律
宁波市| 济南市| 抚顺县| 西和县| 札达县| 玛纳斯县| 比如县| 永济市| 大埔区| 万州区| 中西区| 台江县| 开阳县| 思茅市| 清涧县| 千阳县| 龙里县| 铜川市| 青冈县| 贵南县| 蒙城县| 甘谷县| 周宁县| 宜兰县| 惠东县| 盐池县| 永仁县| 旬阳县| 饶阳县| 莱芜市| 龙陵县| 威信县| 来安县| 闻喜县| 客服| 门源| 永和县| 南澳县| 丰镇市| 罗甸县| 成都市|