版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第第7章章 Visual C#程序設(shè)計(jì)程序設(shè)計(jì) 本章包含的內(nèi)容:本章包含的內(nèi)容: 1) Windows應(yīng)用程序設(shè)計(jì) 2)數(shù)據(jù)訪問)數(shù)據(jù)訪問ADO.NET 3)Web應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì) 第第7章章 Visual C#程序設(shè)計(jì)程序設(shè)計(jì)本章重點(diǎn):本章重點(diǎn): 了解利用了解利用C#進(jìn)行進(jìn)行Windows應(yīng)用程序開發(fā)常用控件的應(yīng)用程序開發(fā)常用控件的屬性、方法和事件;屬性、方法和事件; 掌握使用掌握使用C#開發(fā)開發(fā)Windows應(yīng)用程序的方法和要點(diǎn);應(yīng)用程序的方法和要點(diǎn); 了解了解ADO.NET的體系結(jié)構(gòu);的體系結(jié)構(gòu); 掌握利用掌握利用ADO.NET訪問數(shù)據(jù)庫(kù)的方法;訪問數(shù)據(jù)庫(kù)的方法; 了解利用了解利
2、用ASP.NET進(jìn)行進(jìn)行Web程序開發(fā)常用控件的屬性、程序開發(fā)常用控件的屬性、方法和事件;方法和事件; 掌握使用掌握使用ASP.NET進(jìn)行進(jìn)行Web程序的方法和要點(diǎn)。程序的方法和要點(diǎn)。 7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì) C/S類型的應(yīng)用程序由于其人機(jī)交互界面友好、類型的應(yīng)用程序由于其人機(jī)交互界面友好、安全性高、網(wǎng)絡(luò)資源占用率低及開發(fā)效率高等優(yōu)點(diǎn),安全性高、網(wǎng)絡(luò)資源占用率低及開發(fā)效率高等優(yōu)點(diǎn),深受許多用戶和開發(fā)人員的喜愛。深受許多用戶和開發(fā)人員的喜愛。C#所提供的所提供的Windows應(yīng)用程序開發(fā)環(huán)境是專門用來進(jìn)行此種類型應(yīng)用程序開發(fā)環(huán)境是專門用來進(jìn)行此種類型的應(yīng)用程序開發(fā)的。的應(yīng)
3、用程序開發(fā)的。 本節(jié)著重描述在本節(jié)著重描述在Windows應(yīng)用程序設(shè)計(jì)中起著重應(yīng)用程序設(shè)計(jì)中起著重要作用的窗體控件及其他常用控件的常用屬性、方法要作用的窗體控件及其他常用控件的常用屬性、方法及事件。及事件。 7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì)7.1.1 窗體設(shè)計(jì)窗體設(shè)計(jì) 在在C#中,窗體可分為普通窗體中,窗體可分為普通窗體(SDI窗體窗體)和多文和多文檔界面窗體檔界面窗體(MDI窗體窗體)兩種類型。兩種類型。 普通窗體又分為模式窗體和非模式窗體。普通窗體又分為模式窗體和非模式窗體。 在實(shí)際應(yīng)用中,相對(duì)而言,普通窗體的應(yīng)用更為在實(shí)際應(yīng)用中,相對(duì)而言,普通窗體的應(yīng)用更為多見。多見。 7
4、.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì)1窗體的常用屬性窗體的常用屬性 7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì) Windows窗體的屬性設(shè)置分為靜態(tài)設(shè)置和動(dòng)態(tài)設(shè)窗體的屬性設(shè)置分為靜態(tài)設(shè)置和動(dòng)態(tài)設(shè)置兩種。置兩種。 靜態(tài)設(shè)置是在程序設(shè)計(jì)時(shí)進(jìn)行的屬性設(shè)置,其方靜態(tài)設(shè)置是在程序設(shè)計(jì)時(shí)進(jìn)行的屬性設(shè)置,其方法為右鍵單擊窗體,在出現(xiàn)的彈出式菜單中選擇法為右鍵單擊窗體,在出現(xiàn)的彈出式菜單中選擇“屬屬性性”菜單項(xiàng),在其中找到要修改的屬性欄目,修改其菜單項(xiàng),在其中找到要修改的屬性欄目,修改其值。值。 7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì) 動(dòng)態(tài)設(shè)置是通過程序代碼在程序運(yùn)行時(shí)修改屬性動(dòng)態(tài)設(shè)置是通
5、過程序代碼在程序運(yùn)行時(shí)修改屬性的值的值. 例如當(dāng)加載一個(gè)窗體時(shí),希望修改該窗體的例如當(dāng)加載一個(gè)窗體時(shí),希望修改該窗體的Text屬性值為屬性值為“Form Main”,則程序代碼如下:,則程序代碼如下: private void Form1_Load(object sender, EventArgs e) this.Text = Form Main; 在在C#中,其他控件的屬性設(shè)置方法和中,其他控件的屬性設(shè)置方法和Windows窗體控件的屬性設(shè)置方法相似,將不再另行說明。窗體控件的屬性設(shè)置方法相似,將不再另行說明。 7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì)2窗體的常用方法窗體的常用方法 7
6、.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì)2窗體的常用事件窗體的常用事件 7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì)7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì) Windows窗體的事件處理程序用于確定事件發(fā)生窗體的事件處理程序用于確定事件發(fā)生時(shí)要執(zhí)行的操作,它是綁定到事件的方法。在時(shí)要執(zhí)行的操作,它是綁定到事件的方法。在C#中,中,每個(gè)事件處理程序提供兩個(gè)參數(shù)。例如,窗體每個(gè)事件處理程序提供兩個(gè)參數(shù)。例如,窗體Form1的的Load事件的事件處理程序?yàn)椋菏录氖录幚沓绦驗(yàn)椋?private void Form1_Load(object sender, EventArgs e) /相
7、應(yīng)的代碼相應(yīng)的代碼 其中,第一個(gè)參數(shù)其中,第一個(gè)參數(shù)sender提供對(duì)引發(fā)事件的對(duì)象提供對(duì)引發(fā)事件的對(duì)象的引用,第二個(gè)參數(shù)的引用,第二個(gè)參數(shù)e傳遞要處理的事件的對(duì)象。傳遞要處理的事件的對(duì)象。 7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì) 建立窗體事件處理程序的最常用的方法是在程序建立窗體事件處理程序的最常用的方法是在程序設(shè)計(jì)時(shí),右鍵單擊窗體之后,在出現(xiàn)的彈出式菜單中設(shè)計(jì)時(shí),右鍵單擊窗體之后,在出現(xiàn)的彈出式菜單中選擇選擇“屬性屬性”菜單項(xiàng),并在菜單項(xiàng),并在“屬性屬性”窗口,打開事件窗口,打開事件窗口:窗口: 1)增加新的事件)增加新的事件 選中要處理的事件,雙擊右側(cè)空白處,就可增加選中要處理的
8、事件,雙擊右側(cè)空白處,就可增加窗體的相應(yīng)事件處理程序。這樣既建立了特定的事件窗體的相應(yīng)事件處理程序。這樣既建立了特定的事件處理程序,也為相應(yīng)的事件綁定了執(zhí)行程序。處理程序,也為相應(yīng)的事件綁定了執(zhí)行程序。 7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì) 2)選擇已有事件)選擇已有事件 (1)靜態(tài)綁定:靜態(tài)綁定方法是在程序設(shè)計(jì)時(shí),)靜態(tài)綁定:靜態(tài)綁定方法是在程序設(shè)計(jì)時(shí),定位到定位到“屬性屬性”窗口相應(yīng)事件處,通過單擊下拉按鈕,窗口相應(yīng)事件處,通過單擊下拉按鈕,從下拉框中選定要綁定的事件處理程序;從下拉框中選定要綁定的事件處理程序; (2)動(dòng)態(tài)綁定的方法是通過程序代碼在程序運(yùn)行)動(dòng)態(tài)綁定的方法是通過
9、程序代碼在程序運(yùn)行時(shí)進(jìn)行綁定,例如,假設(shè)事件處理程序時(shí)進(jìn)行綁定,例如,假設(shè)事件處理程序Form1_Load已存在,要把窗體的已存在,要把窗體的Shown事件與其綁定,代碼如下:事件與其綁定,代碼如下: Form1. Shown += new System.EventHandler(Form1_Load) ;7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì) 4窗體上事件的引發(fā)順序窗體上事件的引發(fā)順序 1)窗體啟動(dòng)時(shí)引發(fā)的事件)窗體啟動(dòng)時(shí)引發(fā)的事件 包括包括Load事件、事件、Activated事件、事件、Shown事件和事件和Paint事件,執(zhí)行次序?yàn)槭录?,?zhí)行次序?yàn)長(zhǎng)oad事件、事件、Shown
10、事件、事件、Paint事件,最后是事件,最后是Activated事件;事件; 2)窗體關(guān)閉時(shí)引發(fā)的事件,)窗體關(guān)閉時(shí)引發(fā)的事件, 包括包括FormClosing事件和事件和FormClosed事件,執(zhí)事件,執(zhí)行次序是先行次序是先FormClosing事件,后事件,后FormClosed事件。事件。 7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì) 5應(yīng)用舉例應(yīng)用舉例 【例例7-1】 編寫編寫Windows應(yīng)用程序,應(yīng)用程序,(1)動(dòng)態(tài)改變動(dòng)態(tài)改變窗體大小;窗體大??;(2)顯示程序啟動(dòng)時(shí),顯示程序啟動(dòng)時(shí),Load事件及事件及Shown事件的執(zhí)行順序;事件的執(zhí)行順序;(3)顯示程序關(guān)閉時(shí),顯示程序關(guān)
11、閉時(shí),F(xiàn)ormClosing事件和事件和FormClosed事件的執(zhí)行順序;事件的執(zhí)行順序;(4)調(diào)用模式窗調(diào)用模式窗體和非模式窗體。體和非模式窗體。 7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì) 窗體設(shè)計(jì):創(chuàng)建窗體設(shè)計(jì):創(chuàng)建Windows窗體應(yīng)用程序項(xiàng)目窗體應(yīng)用程序項(xiàng)目WindowsApplication7_1,向其中添加,向其中添加3個(gè)窗體個(gè)窗體Form_Main、Form_Show和和Form_ShowDialog,并在并在Form_Main上添加上添加3個(gè)個(gè)Button控件控件Button1Button3,在,在Form_Show和和Form_ShowDialog上分別添加上分別添加
12、1個(gè)個(gè)Label控件控件Label1。 7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì) 屬性設(shè)置:設(shè)置窗屬性設(shè)置:設(shè)置窗體體Form_Main的的Text屬屬性值為性值為“Form_Main”,并設(shè)置其上并設(shè)置其上Button1 Button3的的Text屬性值分屬性值分別為別為“改變窗體大小改變窗體大小”、“調(diào)用非模式窗體調(diào)用非模式窗體”和和“調(diào)用模式窗體調(diào)用模式窗體”。7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì) 設(shè)置窗體設(shè)置窗體Form_Show的的Text屬屬性值為性值為“Form_Show”,并設(shè)置其上并設(shè)置其上Label1的的Text屬性值為屬性值為“非模式非模式窗體窗體”。7.
13、1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì) 設(shè)置窗體設(shè)置窗體Form_ ShowDialog的的Text屬性值為屬性值為“Form_ShowDialog”,并設(shè),并設(shè)置其上置其上Label1的的Text屬性值為屬性值為“模式窗體模式窗體”。 7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì)nprivate void Form_Main_Load(object sender, EventArgs e)n MessageBox.Show(Load事件被觸發(fā)); nprivate void Form_Main_Shown(object sender, EventArgs e)n MessageBox.
14、Show(Shown事件被觸發(fā)); nprivate void Form_Main_FormClosing(object sender, FormClosingEventArgs e)n MessageBox.Show(FormClosing事件被觸發(fā)); nprivate void Form_Main_FormClosed(object sender, FormClosedEventArgs e)n MessageBox.Show (FormClosed事件被觸發(fā));7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì)nprivate void button1_Click(object sende
15、r, EventArgs e)n this.Size = new System.Drawing.Size(500, 500);nprivate void button2_Click(object sender, EventArgs e)n Form Form_ShowDialog = new Form_ShowDialog();n Form_ShowDialog.ShowDialog();nnprivate void button3_Click(object sender, EventArgs e)nn Form Form_Show = new Form_Show();n Form_Show.
16、Show();n7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì) 7.1.2 菜單設(shè)計(jì)菜單設(shè)計(jì) 大多數(shù)情況下菜單項(xiàng)是系統(tǒng)功能的一個(gè)全景。大多數(shù)情況下菜單項(xiàng)是系統(tǒng)功能的一個(gè)全景。 菜單按使用形式的不同可以分為下拉式菜單菜單按使用形式的不同可以分為下拉式菜單(MenuStrip)和彈出式菜單和彈出式菜單(ContextMenuStrip)兩種。兩種。 下拉式菜單位于窗體頂部,一般通過單擊菜單欄中的菜單下拉式菜單位于窗體頂部,一般通過單擊菜單欄中的菜單標(biāo)題的方式打開。標(biāo)題的方式打開。 彈出式菜單獨(dú)立于下拉式菜單,它是顯示在窗體內(nèi)的浮動(dòng)彈出式菜單獨(dú)立于下拉式菜單,它是顯示在窗體內(nèi)的浮動(dòng)菜單,通過右鍵單擊
17、窗體某一區(qū)域的方式打開,不同區(qū)域所菜單,通過右鍵單擊窗體某一區(qū)域的方式打開,不同區(qū)域所“彈出彈出”的菜單內(nèi)容可能是不同的。的菜單內(nèi)容可能是不同的。 7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì) 1菜單的結(jié)構(gòu)菜單的結(jié)構(gòu) 兩種菜單的基本結(jié)構(gòu)大兩種菜單的基本結(jié)構(gòu)大致相似,這里以下拉式菜單致相似,這里以下拉式菜單為例來說明菜單的基本結(jié)構(gòu)。為例來說明菜單的基本結(jié)構(gòu)。 下拉式菜單包括菜單欄、下拉式菜單包括菜單欄、菜單標(biāo)題、一級(jí)菜單和子菜菜單標(biāo)題、一級(jí)菜單和子菜單。菜單欄由若干菜單標(biāo)題單。菜單欄由若干菜單標(biāo)題構(gòu)成主菜單。每個(gè)一級(jí)菜單構(gòu)成主菜單。每個(gè)一級(jí)菜單由若干菜單項(xiàng)組成,對(duì)應(yīng)一由若干菜單項(xiàng)組成,對(duì)應(yīng)一個(gè)
18、菜單標(biāo)題。若一個(gè)菜單項(xiàng)個(gè)菜單標(biāo)題。若一個(gè)菜單項(xiàng)右側(cè)有一個(gè)子菜單標(biāo)記,單右側(cè)有一個(gè)子菜單標(biāo)記,單擊這樣的菜單時(shí),將打開下?lián)暨@樣的菜單時(shí),將打開下一級(jí)子菜單。最多可以設(shè)計(jì)一級(jí)子菜單。最多可以設(shè)計(jì)出出6級(jí)子菜單。級(jí)子菜單。 7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì) 2創(chuàng)建下拉式菜單創(chuàng)建下拉式菜單 下拉式菜單控件在下拉式菜單控件在C#工具箱中的名字為工具箱中的名字為MenuStrip,利用,利用其創(chuàng)建下拉式菜單非常方便,其方法為:其創(chuàng)建下拉式菜單非常方便,其方法為: (1) 添加菜單和菜單項(xiàng)添加菜單和菜單項(xiàng) 添加菜單和菜單項(xiàng)的方法如下添加菜單和菜單項(xiàng)的方法如下: 把把MenuStrip控件放置到
19、窗體上??丶胖玫酱绑w上。 輸入菜單標(biāo)題。輸入菜單標(biāo)題。 輸入新的菜單項(xiàng)和子菜單。輸入新的菜單項(xiàng)和子菜單。 插入分隔條。插入分隔條。 創(chuàng)建熱鍵。輸入菜單標(biāo)題或菜單項(xiàng)時(shí),在定為熱鍵的創(chuàng)建熱鍵。輸入菜單標(biāo)題或菜單項(xiàng)時(shí),在定為熱鍵的字母前加一個(gè)字母前加一個(gè)“&”即可。即可。7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì) (2) 設(shè)置菜單項(xiàng)的屬性設(shè)置菜單項(xiàng)的屬性7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì) (3) 為菜單項(xiàng)添加事件為菜單項(xiàng)添加事件7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì) 3創(chuàng)建彈出式菜單創(chuàng)建彈出式菜單 彈出式菜單控件在彈出式菜單控件在C#工具箱中的名字為工具箱中的名字為Cont
20、extMenuStrip,它獨(dú)立于主菜單,菜單的位置是在屏幕,它獨(dú)立于主菜單,菜單的位置是在屏幕上上“浮動(dòng)浮動(dòng)”的,位置由鼠標(biāo)的當(dāng)前位置決定。通常情況下通過的,位置由鼠標(biāo)的當(dāng)前位置決定。通常情況下通過單擊鼠標(biāo)右鍵來激活彈出式菜單。單擊鼠標(biāo)右鍵來激活彈出式菜單。 利用利用ContextMenuStrip控件創(chuàng)建彈出式菜單的方法與利控件創(chuàng)建彈出式菜單的方法與利用用MenuStrip控件創(chuàng)建下拉式菜單的方法非常相似。只是需要控件創(chuàng)建下拉式菜單的方法非常相似。只是需要注意彈出式菜單必須與窗體上的某一控件相關(guān)聯(lián)注意彈出式菜單必須與窗體上的某一控件相關(guān)聯(lián)(大多數(shù)情況大多數(shù)情況下是與窗體相關(guān)聯(lián)下是與窗體相關(guān)
21、聯(lián)),方法為設(shè)置該控件的,方法為設(shè)置該控件的ContextMenuStrip屬性值為該彈出式菜單的名稱。這樣當(dāng)鼠標(biāo)位于該控件的上方屬性值為該彈出式菜單的名稱。這樣當(dāng)鼠標(biāo)位于該控件的上方時(shí),單擊右鍵就可彈出該彈出式菜單。時(shí),單擊右鍵就可彈出該彈出式菜單。 彈出式菜單項(xiàng)最常用的事件也是彈出式菜單項(xiàng)最常用的事件也是Click事件。事件。7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì)7.1.3 標(biāo)簽控件標(biāo)簽控件 標(biāo)簽標(biāo)簽(Label)控件是最常用的控件之一,其作用控件是最常用的控件之一,其作用是在窗體中顯示文本。在程序運(yùn)行過程中,是在窗體中顯示文本。在程序運(yùn)行過程中,Label控件不能獲得焦點(diǎn)控件不能
22、獲得焦點(diǎn) 7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì) 7.1.4 文本框控件文本框控件文本框文本框(TextBox)控件,既可以輸入文本,又可以顯示文本控件,既可以輸入文本,又可以顯示文本 1常用屬性常用屬性 7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì) 2常用事件常用事件 7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì) 7.1.5 按鈕控件按鈕控件 按鈕(按鈕(Button)控件主要通過事件處理程序來)控件主要通過事件處理程序來完成特定的任務(wù)。完成特定的任務(wù)。1常用屬性常用屬性 7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì) 2常用事件常用事件 Button控件的常用事件是控件的常用事
23、件是Click事件,左鍵單擊事件,左鍵單擊Button控件時(shí)觸發(fā)該事件??丶r(shí)觸發(fā)該事件。 7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì)【例例7-2】 簡(jiǎn)易計(jì)算器簡(jiǎn)易計(jì)算器7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì) 分析:分析: (1) 程序中的按鈕分為數(shù)字類和運(yùn)算符類兩類,可以使程序中的按鈕分為數(shù)字類和運(yùn)算符類兩類,可以使用按鈕用按鈕(Button)使之工作。使之工作。 (2) 由于是簡(jiǎn)易計(jì)算器,所以不考慮在表達(dá)式中執(zhí)行四由于是簡(jiǎn)易計(jì)算器,所以不考慮在表達(dá)式中執(zhí)行四則運(yùn)算規(guī)則,只要出現(xiàn)則運(yùn)算規(guī)則,只要出現(xiàn) 的表的表達(dá)式就給出運(yùn)算結(jié)果,為此需要為類建立達(dá)式就給出運(yùn)算結(jié)果,為此需要為類建立
24、5個(gè)屬性分別記錄個(gè)屬性分別記錄操作數(shù)操作數(shù)1、操作數(shù)、操作數(shù)2、計(jì)算結(jié)果、運(yùn)算符及當(dāng)前的狀態(tài)。、計(jì)算結(jié)果、運(yùn)算符及當(dāng)前的狀態(tài)。 (3) 整個(gè)計(jì)算過程可以分為整個(gè)計(jì)算過程可以分為4種狀態(tài),分別為輸入操作數(shù)種狀態(tài),分別為輸入操作數(shù)1、輸入操作數(shù)、輸入操作數(shù)2、得到結(jié)果、輸入運(yùn)算符。、得到結(jié)果、輸入運(yùn)算符。7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì) 窗體設(shè)計(jì):窗體設(shè)計(jì): 創(chuàng)建創(chuàng)建Windows窗體應(yīng)用程序項(xiàng)目窗體應(yīng)用程序項(xiàng)目WindowsApplication7_2,在其窗體控件上添加一個(gè),在其窗體控件上添加一個(gè)TextBox控件控件txt_C和一個(gè)和一個(gè)Panel控件控件Panel1,并在,并
25、在Panel1中放置中放置19個(gè)個(gè)Button控件控件Btn_0Btn_9、Btn_dot、Btn_add、Btn_subtract、Btn_multiply、Btn_divide、Btn_equal、Btn_Backspace、Btn_C和和Btn_CE。 7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì)屬性設(shè)置:屬性設(shè)置: 設(shè)置窗體的設(shè)置窗體的Name屬性值為屬性值為“Frm_Calculator”,Text屬屬性值為性值為“簡(jiǎn)易計(jì)算器簡(jiǎn)易計(jì)算器”。設(shè)置。設(shè)置txt_C的的TextAlign值為值為“Right”。設(shè)置。設(shè)置Btn_0、Btn_1、Btn_2、Btn_3、Btn_4、Btn_
26、5、Btn_6、Btn_7、Btn_8和和Btn_9的的Text屬性值分別屬性值分別為為“0”、“1”、“2” 、“3”、“4”、“5”、“6”、“7”、“8”和和“9”。設(shè)置。設(shè)置Btn_dot的的Text屬性值為屬性值為“.”。設(shè)置。設(shè)置Btn_ add的的Text屬性值為屬性值為“+”。設(shè)置。設(shè)置Btn_ subtract的的Text屬性值屬性值為為“-”。設(shè)置。設(shè)置Btn_ multiply的的Text屬性值為屬性值為“*”。設(shè)置。設(shè)置Btn_ divide的的Text屬性值為屬性值為“/”。設(shè)置。設(shè)置Btn_ equal的的Text屬屬性值為性值為“=”。設(shè)置。設(shè)置Btn_ Back
27、space的的Text屬性值為屬性值為“BackSpace”。設(shè)置。設(shè)置Btn_ C的的Text屬性值為屬性值為“C”。設(shè)置。設(shè)置Btn_ CE的的Text屬性值為屬性值為“CE”。 7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì)添加代碼:添加代碼: 對(duì)對(duì)Frm_Calculator類添加私有類添加私有(private)屬性屬性input_1(double)、input_2(double)、total(double)、 state(int)、operator_sign(int)和和 btn(Button)。其中,。其中,input_1存放操作數(shù)存放操作數(shù)1,input_2存放操作數(shù)存放操作數(shù)2
28、,total存放計(jì)存放計(jì)算結(jié)果,算結(jié)果,state存放當(dāng)前狀態(tài)存放當(dāng)前狀態(tài)(1-輸入操作數(shù)輸入操作數(shù)1狀態(tài),狀態(tài),2-輸入操輸入操作數(shù)作數(shù)2狀態(tài),狀態(tài),3-得到結(jié)果狀態(tài)得到結(jié)果狀態(tài) ,4-輸入操作符號(hào)狀態(tài)輸入操作符號(hào)狀態(tài)),operator_sign存放操作符,代碼如下:存放操作符,代碼如下:private double input_1,input_2,total;private int state;private string operator_sign;private Button btn;7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì)為為Frm_ Calculator編寫編寫Load事件
29、代碼如下:事件代碼如下:nprivate void Frm_Calculator_Load(object sender, EventArgs e)nn input_1=0.0;n input_2=0.0;n total=0.0;n txt_C.Text = 0.;n state=1;n 7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì)為為Btn_1編寫編寫Click事件代碼如下:事件代碼如下:nprivate void Btn_1_Click(object sender, EventArgs e)n btn = (Button)sender ;n if (state=3) | (state=4)
30、n txt_C.Text =0.;n if (txt_C.Text=0.) n if (btn.Text !=0)n txt_C.Text = btn.Text ; n elsen txt_C.Text =txt_C.Text +btn.Text ;n if (state=3) state=1;n if (state=4) state=2; 7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì)n為為Btn_add編寫編寫Click事件代碼如下:事件代碼如下:nprivate void Btn_Add_Click(object sender, EventArgs e)nn btn =(Button)s
31、ender ; n if (state=1) | (state=3) n n input_1=Convert.ToDouble (txt_C.Text) ;n operator_sign=btn.Text ;n state=4;n n 7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì)nelsen if (state=2)n n input_2=Convert.ToDouble (txt_C.Text) ;n if (operator_sign = +)n total = input_1 + input_2;n elsen if (operator_sign = -)n total = input
32、_1 - input_2;n elsen if (operator_sign = *)n total = input_1 * input_2;n 7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì)nelsen if (input_2 = 0.0)n MessageBox.Show(除零錯(cuò)誤!除零錯(cuò)誤!, 信息提示信息提示, MessageBox n Buttons.OK);n total = input_1 / input_2; n txt_C.Text =Convert.ToString(total) ;n input_1=total;n state=4;n operator_sign=btn.
33、Text ;n n elsen operator_sign=btn.Text;n7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì)n為為Btn_ dot編寫編寫Click事件代碼如下:事件代碼如下:nprivate void Btn_dot_Click(object sender, EventArgs e)n if (state=3)n txt_C.Text =.;n state=1; n elsen if (state=4)n txt_C .Text =.;n state=2; n elsen if (txt_C.Text =0.) txt_C.Text =.;n elsen if (!(txt
34、_C.Text.Contains(.) n txt_C.Text =txt_C.Text +.;7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì)n為為Btn_ equal編寫編寫Click事件代碼如下:事件代碼如下:nprivate void Btn_equal_Click(object sender, EventArgs e)nn if (state=2)n n input_2=Convert.ToDouble( txt_C.Text );n if (operator_sign = +)n total = input_1 + input_2;n elsen if (operator_sign
35、= -)n total = input_1 - input_2;n elsen 7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì)nif (operator_sign = *)n total = input_1 * input_2;n elsen n if (input_2 = 0.0)n MessageBox.Show(除零錯(cuò)誤!除零錯(cuò)誤!, 信息提示信息提示, MessageBox n Buttons.OK);n total = input_1 / input_2;n n txt_C.Text =Convert.ToString(total) ;n state=3;n n7.1 Windows
36、應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì)n為為Btn_ Backspace編寫編寫Click事件代碼如下:事件代碼如下:nprivate void Btn_Backspace_Click(object sender, EventArgs e)nn if (txt_C.Text !=0.)n n if (txt_C.TextLength = 1)n txt_C.Text = 0.;n elsen txt_C.Text = txt_C.Text.Remove(txt_C.TextLength - 1);n n7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì)n為為Btn_ CE編寫編寫Click事件代碼如下:事件代碼
37、如下:nprivate void Btn_CE_Click(object sender, EventArgs e)n n txt_C.Text =0.; n n為為Btn_ C編寫編寫Click事件代碼如下:事件代碼如下:nprivate void Btn_C_Click(object sender, EventArgs e)nn txt_C.Text =0.;n state=1;n7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì) 由于由于Btn_0、Btn_2、Btn_3、Btn_4、Btn_5、Btn_6、Btn_7、Btn_8、Btn_9與與Btn_1的的Click事件處理程序相同,事件處
38、理程序相同,進(jìn)入它們的屬性窗口的事件頁,通過下拉框選中進(jìn)入它們的屬性窗口的事件頁,通過下拉框選中Click事件事件過程名為過程名為Btn_1_Click。同理,選中。同理,選中Btn_subtract、Btn_multiply、Btn_divide的的Click事件過程名為事件過程名為Btn_Add_Click。 7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì)7.1.6 列表框控件列表框控件 列表框列表框(ListBox)控件通常用于顯示一組字符串,以滾動(dòng)控件通常用于顯示一組字符串,以滾動(dòng)列表的形式顯示多個(gè)條目以供用戶選擇。如果選擇項(xiàng)超出規(guī)列表的形式顯示多個(gè)條目以供用戶選擇。如果選擇項(xiàng)超出規(guī)定
39、的區(qū)域而不能一次全部顯示,定的區(qū)域而不能一次全部顯示,C#會(huì)自動(dòng)為其加上滾動(dòng)條。會(huì)自動(dòng)為其加上滾動(dòng)條。 7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì)1常用屬性常用屬性7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì)2常用事件常用事件 7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì)3常用方法常用方法 7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì)對(duì)對(duì)ListBox的的Items屬性常用的方法屬性常用的方法 7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì)4應(yīng)用舉例應(yīng)用舉例【例例7-3】 利用循環(huán)結(jié)構(gòu)和列表框控件,設(shè)計(jì)利用循環(huán)結(jié)構(gòu)和列表框控件,設(shè)計(jì)“選項(xiàng)移動(dòng)選項(xiàng)移動(dòng)”窗窗體。體。7.1 Window
40、s應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì)窗體設(shè)計(jì):窗體設(shè)計(jì): 創(chuàng)建創(chuàng)建Windows窗體應(yīng)用程序項(xiàng)目窗體應(yīng)用程序項(xiàng)目WindowsApplication7_3,在其的窗體控件上,添加,在其的窗體控件上,添加2個(gè)個(gè)ListBox控件控件Listbox1和和Listbox2,4個(gè)個(gè)Button控件控件Button1、Button2、Button3和和Button4。 7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì)屬性設(shè)置:屬性設(shè)置: 設(shè)置窗體的設(shè)置窗體的Name屬性值為屬性值為“Form_ListBox”,Text屬屬性值為性值為“列表框的應(yīng)用列表框的應(yīng)用”。Button1、Button2、Button3和和B
41、utton4的的Text屬性值分別為屬性值分別為“”、“”、“”和和“=0)n n listBox2.Items.Add(listBox1.SelectedItem);n listBox1.Items.Remove(listBox1.SelectedItem);n n enbutton();n7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì)為為button2添加添加Click事件處理程序事件處理程序 nprivate void button2_Click(object sender, EventArgs e)nn foreach (object item in listBox1.Items )n
42、 listBox2.Items.Add(item);n listBox1.Items.Clear();n enbutton();n 7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì)為為button3添加添加Click事件處理程序事件處理程序 nprivate void button3_Click(object sender, EventArgs e)nn while (listBox2.SelectedIndex = 0)n n listBox1.Items.Add(listBox2.SelectedItem);n listBox2.Items.Remove(listBox2.SelectedI
43、tem);n n enbutton();n 7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì)為為button4添加添加Click事件處理程序事件處理程序 n private void button4_Click(object sender, EventArgs e)n n foreach (object item in listBox2.Items)n listBox1.Items.Add(item);n listBox2.Items.Clear();n enbutton();n 7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì)7.1.7 組合框控件組合框控件 組合框組合框(ComboBox)控件
44、兼有控件兼有TextBox控件和控件和ListBox控件兩者的功能,用戶可以通過輸入文本或選擇控件兩者的功能,用戶可以通過輸入文本或選擇列表中的項(xiàng)目來進(jìn)行輸入。列表中的項(xiàng)目來進(jìn)行輸入。 7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì)1常用屬性常用屬性7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì)2常用事件常用事件 7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì)3應(yīng)用舉例應(yīng)用舉例【例例7-4】 編寫利用文本框向組合框增加選項(xiàng)的應(yīng)用程序。編寫利用文本框向組合框增加選項(xiàng)的應(yīng)用程序。7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì)窗體設(shè)計(jì):窗體設(shè)計(jì): 創(chuàng)建創(chuàng)建Windows窗體應(yīng)用程序項(xiàng)目窗體應(yīng)用程序項(xiàng)
45、目WindowsApplication7_4,在其的窗體控件上,添加,在其的窗體控件上,添加2個(gè)個(gè)Panel控件控件Panel1和和Panel2,并在,并在Panel1中添加中添加ComboBox控件控件comboBox1,在,在Panel2中添加中添加TextBox控件控件textBox1和和Button控件控件botton1。 7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì)屬性設(shè)置屬性設(shè)置: 設(shè)置窗體的設(shè)置窗體的Name屬性值為屬性值為“Form_ComboBox”,Text屬性值為屬性值為“組合框的應(yīng)用組合框的應(yīng)用”。設(shè)置。設(shè)置Panel1和和panel2的的BorderStyle的屬性
46、值都為的屬性值都為“Fixed3D”。設(shè)置。設(shè)置button1的的Text屬性值為屬性值為“確定確定”。 7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì)添加代碼:對(duì)添加代碼:對(duì)button1編寫編寫Click事件處理程序:事件處理程序:nprivate void button1_Click(object sender, EventArgs e)nn if (textBox1.Text != )n if (!comboBox1.Items.Contains(textBox1.Text)n comboBox1.Items.Add(textBox1.Text);n 7.1 Windows應(yīng)用程序設(shè)計(jì)
47、應(yīng)用程序設(shè)計(jì)7.1.8 分組框控件分組框控件 分組框分組框(GroupBox)控件是一個(gè)帶有標(biāo)題的容器類及控件是一個(gè)帶有標(biāo)題的容器類及分組類控件。作為容器控件,它可以為一組相關(guān)的控件分組類控件。作為容器控件,它可以為一組相關(guān)的控件提供分組,并使這些控件在組標(biāo)題下顯得更有條理;作提供分組,并使這些控件在組標(biāo)題下顯得更有條理;作為分組控件,它可以管理其中的相關(guān)控件,使之更好地為分組控件,它可以管理其中的相關(guān)控件,使之更好地協(xié)調(diào)工作。協(xié)調(diào)工作。 要在要在GroupBox框中加入組成員,必須先在窗體中建框中加入組成員,必須先在窗體中建立一個(gè)立一個(gè)GroupBox框,再在其內(nèi)加入成員。如果在框,再在其內(nèi)
48、加入成員。如果在GroupBox框外建立好控件之后再將其移到框外建立好控件之后再將其移到GroupBox框框內(nèi),這些控件是不會(huì)成為內(nèi),這些控件是不會(huì)成為GroupBox容器中的一員的。容器中的一員的。 7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì)7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì)7.1.9 面板控件面板控件 面板控件在工具箱中的名字為面板控件在工具箱中的名字為Panel,其作用與分,其作用與分組框相似,也用于對(duì)控件分組。組框相似,也用于對(duì)控件分組。7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì)7.1.10 單選按鈕控件單選按鈕控件 單選按鈕單選按鈕(RadioButton)控件總
49、是作為一個(gè)組控件總是作為一個(gè)組(單選按單選按鈕組鈕組)工作的。單選按鈕組是一組相互排斥的單選按鈕,工作的。單選按鈕組是一組相互排斥的單選按鈕,選擇一個(gè)單選按鈕會(huì)立即清除該組中的其他按鈕,即在選擇一個(gè)單選按鈕會(huì)立即清除該組中的其他按鈕,即在單選按鈕組中只能選中一個(gè)選項(xiàng)。單選按鈕組中只能選中一個(gè)選項(xiàng)。 單選按鈕將按其所在的容器單選按鈕將按其所在的容器(Form、GroupBox、Panel等等)自動(dòng)進(jìn)行分組,一個(gè)容器內(nèi)的單選按鈕組成一自動(dòng)進(jìn)行分組,一個(gè)容器內(nèi)的單選按鈕組成一個(gè)單選組。若需要使用多組按鈕組,必須使用多組容器個(gè)單選組。若需要使用多組按鈕組,必須使用多組容器控件??丶?。 7.1 Wind
50、ows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì)1常用屬性常用屬性7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì)2常用事件常用事件 7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì)7.1.11 復(fù)選框控件復(fù)選框控件 復(fù)選框復(fù)選框(CheckBox)是一個(gè)旁邊帶有文本說明的小方是一個(gè)旁邊帶有文本說明的小方框,具有選中和未選中兩種狀態(tài),選中時(shí)方框中具有選框,具有選中和未選中兩種狀態(tài),選中時(shí)方框中具有選中標(biāo)志。中標(biāo)志。 7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì)1常用屬性常用屬性 CheckBox控件除與控件除與RadioButton控件具有相控件具有相同的常用屬性外同的常用屬性外 。7.1 Windows應(yīng)用程序
51、設(shè)計(jì)應(yīng)用程序設(shè)計(jì)2常用事件常用事件7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì)7.1.12 圖片框控件圖片框控件 圖片框圖片框(PictureBox)控件用于放置圖形信息,可顯示的控件用于放置圖形信息,可顯示的圖像類型包括圖像類型包括bitmap、JPEG、GIF、metafile和和icon等。等。7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì)1常用屬性常用屬性7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì)2常用事件常用事件7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì)7.1.13 通用對(duì)話框設(shè)計(jì)通用對(duì)話框設(shè)計(jì) C#中提供了打開文件、存儲(chǔ)文件、設(shè)置字體和顏色、中提供了打開文件、存儲(chǔ)文件、設(shè)
52、置字體和顏色、查找、打印、設(shè)置打印機(jī)等通用對(duì)話框控件。每個(gè)通用查找、打印、設(shè)置打印機(jī)等通用對(duì)話框控件。每個(gè)通用對(duì)話框控件都可以使用對(duì)話框控件都可以使用ShowDialog方法來顯示。這里介方法來顯示。這里介紹最常用的幾種對(duì)話框,其他對(duì)話框的使用與它們相似。紹最常用的幾種對(duì)話框,其他對(duì)話框的使用與它們相似。7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì) 1打開文件對(duì)話框控件打開文件對(duì)話框控件 打開文件對(duì)話框打開文件對(duì)話框(OpenFileDialog)控件用于打開一控件用于打開一個(gè)已經(jīng)存在的文件,其所在的驅(qū)動(dòng)器、文件夾、文件名個(gè)已經(jīng)存在的文件,其所在的驅(qū)動(dòng)器、文件夾、文件名及文件擴(kuò)展名將被賦予及
53、文件擴(kuò)展名將被賦予OpenFileDialog的的FileName屬性。屬性。 7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì)7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì) OpenFileDialog控件最常用方法是控件最常用方法是ShowDialog,其返回值為,其返回值為DialogResult枚舉值,枚舉值,其含義如下:其含義如下:7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì) 2保存文件對(duì)話框控件保存文件對(duì)話框控件 保存文件對(duì)話框保存文件對(duì)話框(SaveFileDialog)控件用于保存當(dāng)前控件用于保存當(dāng)前正在處理的文件。用戶輸入某一文件名,其所在的驅(qū)動(dòng)正在處理的文件。用戶輸入某一文
54、件名,其所在的驅(qū)動(dòng)器、文件夾、文件名及文件擴(kuò)展名將被賦予器、文件夾、文件名及文件擴(kuò)展名將被賦予SaveFileDialog的的FileName屬性。屬性。 其常用屬性及方法與其常用屬性及方法與OpenFileDialog控件類似??丶愃?。 7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì) 3字體對(duì)話框控件字體對(duì)話框控件 字體對(duì)話框字體對(duì)話框(FontDialog)控件用于設(shè)置當(dāng)前字體的屬控件用于設(shè)置當(dāng)前字體的屬性。用戶所選擇字體的名字、樣式、大小、效果及顏色性。用戶所選擇字體的名字、樣式、大小、效果及顏色將被賦予將被賦予FontDialog的的Font屬性。屬性。 7.1 Windows應(yīng)用程
55、序設(shè)計(jì)應(yīng)用程序設(shè)計(jì)7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì) 4顏色對(duì)話框控件顏色對(duì)話框控件 顏色對(duì)話框顏色對(duì)話框(ColorDialog)控件用于提供一個(gè)顏控件用于提供一個(gè)顏色對(duì)話框。用戶所選擇的顏色等屬性將被賦予色對(duì)話框。用戶所選擇的顏色等屬性將被賦予ColorDialog的的Color屬性。屬性。7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì)7.1.14 日期日期/時(shí)間控件時(shí)間控件 日期日期/時(shí)間時(shí)間(DateTimePicker)控件用于顯示日期和時(shí)控件用于顯示日期和時(shí)間,外觀像一個(gè)組合框,當(dāng)單擊下拉箭頭時(shí),會(huì)出現(xiàn)一間,外觀像一個(gè)組合框,當(dāng)單擊下拉箭頭時(shí),會(huì)出現(xiàn)一個(gè)按月份顯示的日歷
56、,以供用戶選擇日期。個(gè)按月份顯示的日歷,以供用戶選擇日期。7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì)7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì) 2常用事件常用事件 DateTimePicker控件常用的事件是控件常用的事件是ValueChanged,當(dāng)選擇的日期,當(dāng)選擇的日期/時(shí)間值改變時(shí),引發(fā)此時(shí)間值改變時(shí),引發(fā)此事件。事件。7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì)7.1.15 圖像列表框控件圖像列表框控件 圖像列表框圖像列表框(ImageList)控件的作用是存儲(chǔ)一組圖控件的作用是存儲(chǔ)一組圖像,以供具有像,以供具有ImageList屬性的控件使用。屬性的控件使用。 在在C#.
57、NET中,中,Label、Button、RadioButton、CheckBox、TreeView和和ListView等控件都具有等控件都具有ImageList屬性。屬性。 7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì)1ImageList控件的屬性控件的屬性7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì)2ImageList的的Images屬性所對(duì)應(yīng)類的常用屬性和方法屬性所對(duì)應(yīng)類的常用屬性和方法 7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì)7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì)7.1.16 工具欄控件工具欄控件 工具欄工具欄(ToolStrip)控件將最常用的功能集中在一起,用控件將
58、最常用的功能集中在一起,用圖標(biāo)的形式提供快捷的訪問方式。圖標(biāo)的形式提供快捷的訪問方式。 1工具欄的構(gòu)成工具欄的構(gòu)成 工具欄控件可以包含若干項(xiàng),每項(xiàng)都是一個(gè)工具欄控件可以包含若干項(xiàng),每項(xiàng)都是一個(gè)ToolStripItem對(duì)象,該對(duì)象可以進(jìn)一步分為按鈕對(duì)象,該對(duì)象可以進(jìn)一步分為按鈕(ToolStripButton)對(duì)象、標(biāo)對(duì)象、標(biāo)簽簽(ToolStripLabel)對(duì)象、文本框?qū)ο蟆⑽谋究?ToolStripTextBox)對(duì)象、組合對(duì)象、組合框框(ToolStripComboBox)對(duì)象及分隔條對(duì)象及分隔條(ToolStripSeparator)對(duì)象對(duì)象等。等。 通常來講,工具欄中的每個(gè)項(xiàng)都有相
59、應(yīng)的菜單項(xiàng)與之對(duì)通常來講,工具欄中的每個(gè)項(xiàng)都有相應(yīng)的菜單項(xiàng)與之對(duì)應(yīng),反之則不一定成立。應(yīng),反之則不一定成立。7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì)2創(chuàng)建工具欄創(chuàng)建工具欄 創(chuàng)建工具欄最快捷的方法是利用創(chuàng)建工具欄最快捷的方法是利用C#工具箱中的工具箱中的ToolStrip控件??丶?。 (1) 把把ToolStrip控件放置到窗體上控件放置到窗體上 (2) 設(shè)置設(shè)置ToolStrip屬性屬性 設(shè)置設(shè)置ToolStrip屬性最重要的一項(xiàng)任務(wù)是根據(jù)具體需要,屬性最重要的一項(xiàng)任務(wù)是根據(jù)具體需要,在在ToolStrip的可視化工具欄設(shè)計(jì)器里添加足夠的的可視化工具欄設(shè)計(jì)器里添加足夠的ToolStrip
60、Item項(xiàng)。項(xiàng)。 (3) 設(shè)置每個(gè)設(shè)置每個(gè)ToolStripItem項(xiàng)的屬性項(xiàng)的屬性 (4) 為相應(yīng)的為相應(yīng)的ToolStripItem項(xiàng)添加事件項(xiàng)添加事件7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì)3ToolStrip控件的常用屬性控件的常用屬性 7.1 Windows應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì) ToolStrip的的Items屬性對(duì)應(yīng)類的常用屬性屬性對(duì)應(yīng)類的常用屬性 : 對(duì)對(duì)ToolStrip的的ToolStripItem項(xiàng)可設(shè)置的類型為項(xiàng)可設(shè)置的類型為Button(按鈕按鈕)、Label(標(biāo)簽標(biāo)簽)、SplitButton(下拉按鈕下拉按鈕)、DropDownButton(下拉按鈕下拉按
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 浙江省杭州地區(qū)七校聯(lián)考2025屆物理高二上期末經(jīng)典試題含解析
- 2025屆吉林省北大附屬長(zhǎng)春實(shí)驗(yàn)學(xué)校物理高二第一學(xué)期期末調(diào)研試題含解析
- 2025屆安徽省示范高中培優(yōu)聯(lián)盟物理高三上期中統(tǒng)考模擬試題含解析
- 2025屆浙江省金華市金華十校物理高二第一學(xué)期期中復(fù)習(xí)檢測(cè)模擬試題含解析
- 2025屆海南省三亞市華僑學(xué)校物理高三上期末檢測(cè)試題含解析
- 浙江省杭州七縣2025屆物理高一第一學(xué)期期末復(fù)習(xí)檢測(cè)模擬試題含解析
- 2025屆新疆石河子市石河子二中物理高三上期中達(dá)標(biāo)檢測(cè)模擬試題含解析
- 2025屆四川省棠湖中學(xué)物理高三上期末調(diào)研模擬試題含解析
- 2025屆廣東省華南師大附中、省實(shí)驗(yàn)中學(xué)、廣雅中學(xué)、深圳高級(jí)中學(xué)四校物理高一上期中聯(lián)考模擬試題含解析
- 山東省莒縣2025屆物理高一上期末達(dá)標(biāo)檢測(cè)模擬試題含解析
- 土方開挖和回填專項(xiàng)施工方案
- 政府采購(gòu)評(píng)審專家考試題及答案
- 信息系統(tǒng)密碼應(yīng)用建設(shè)方案
- 第四章 第一節(jié) 走向生態(tài)文明-教學(xué)設(shè)計(jì)
- 2024中國(guó)郵政集團(tuán)公司貴州省分公司社會(huì)招聘191人高頻難、易錯(cuò)點(diǎn)500題模擬試題附帶答案詳解
- 無人機(jī)基礎(chǔ)知識(shí)問答題庫(kù)100道及答案解析
- 郵政儲(chǔ)匯業(yè)務(wù)員(高級(jí))職業(yè)技能鑒定考試題及答案
- 建筑架子工(普通腳手架)??荚囶}及答案
- 2024~2025學(xué)年七年級(jí)上冊(cè)數(shù)學(xué)第五章 一元一次方程章節(jié)測(cè)試(含簡(jiǎn)單答案)
- 2024年銀行外匯業(yè)務(wù)知識(shí)理論考試題庫(kù)及答案(含各題型)
- Unit 4 What can you do Part A lets learn (教學(xué)設(shè)計(jì))-2024-2025學(xué)年人教PEP版英語五年級(jí)上冊(cè)
評(píng)論
0/150
提交評(píng)論