国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(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部分類、窗體與事件委托使用分析的評論 (共 條)

分享到微博請遵守國家法律
南川市| 安多县| 旬邑县| 鹰潭市| 望都县| 黑水县| 密山市| 台山市| 右玉县| 石渠县| 孝昌县| 江孜县| 法库县| 沈丘县| 西乌| 黑山县| 娄底市| 西安市| 庆云县| 申扎县| 桦甸市| 诸城市| 咸宁市| 南川市| 子洲县| 互助| 开原市| 滕州市| 安陆市| 梧州市| 沙坪坝区| 榆林市| 新晃| 汉沽区| 淄博市| 唐河县| 正蓝旗| 无为县| 呼玛县| 景宁| 百色市|