C_界面設(shè)計(jì)教程_第1頁(yè)
C_界面設(shè)計(jì)教程_第2頁(yè)
C_界面設(shè)計(jì)教程_第3頁(yè)
C_界面設(shè)計(jì)教程_第4頁(yè)
C_界面設(shè)計(jì)教程_第5頁(yè)
已閱讀5頁(yè),還剩215頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、 第9章Windows應(yīng)用程序設(shè)計(jì)基礎(chǔ)C#是一種可視化的程序設(shè)計(jì)語(yǔ)言。Windows窗體和控件是開(kāi)發(fā)C#應(yīng)用程序的基礎(chǔ),窗體和控件在C#程序設(shè)計(jì)中扮演著重要的角色。在C#中,每個(gè)Windows窗體和控件都是對(duì)象,都是類的實(shí)例。窗體是可視化程序設(shè)計(jì)的基礎(chǔ)界面,是其他對(duì)象的載體和容器??丶翘砑拥酱绑w對(duì)象上的對(duì)象,每個(gè)控件都有自己的屬性、方法和事件以完成特定的功能。Windows應(yīng)用程序設(shè)計(jì)還體現(xiàn)了另外一種思維,即對(duì)事件的處理。22022-4-20C#程序設(shè)計(jì)實(shí)用教程本章將介紹建立Windows應(yīng)用程序、使用Windows Forms常用控件、菜單和多文檔界面設(shè)計(jì)等。同時(shí)向大家展示用Windows

2、窗體來(lái)編寫程序的特點(diǎn)以及技巧。32022-4-20C#程序設(shè)計(jì)實(shí)用教程 9.1 Windows應(yīng)用程序的結(jié)構(gòu)VS.NET集成開(kāi)發(fā)環(huán)境是基于.NET Framework構(gòu)建的,該框架提供了一個(gè)有條理的、面向?qū)ο蟮?、可擴(kuò)展的類集,它使用戶得以開(kāi)發(fā)豐富的Windows應(yīng)用程序。通過(guò)Windows“窗體設(shè)計(jì)器”進(jìn)行設(shè)計(jì)窗體,用戶就可以創(chuàng)建Windows應(yīng)用程序和客戶機(jī)/服務(wù)器應(yīng)用程序。用戶可對(duì)窗體設(shè)定某些特性并在其上添加控件,然后編寫代碼以增加控件和窗體的功能。42022-4-20C#程序設(shè)計(jì)實(shí)用教程 9.1 Windows應(yīng)用程序的結(jié)構(gòu)VS.NET提供了很多工具可以使應(yīng)用程序的開(kāi)發(fā)快捷、可靠。這些工

3、具包括:Windows窗體可視化設(shè)計(jì)器。識(shí)別代碼編輯器。集成的編譯和調(diào)試。項(xiàng)目管理工具。52022-4-20C#程序設(shè)計(jì)實(shí)用教程 9.1 Windows應(yīng)用程序的結(jié)構(gòu)典型的Windows應(yīng)用程序通常包括窗體(Forms)、控件(Controls)和相應(yīng)的事件(Events)。下面通過(guò)C#設(shè)計(jì)實(shí)現(xiàn)一個(gè)簡(jiǎn)單的計(jì)算器,要求能夠?qū)崿F(xiàn)基本的加、減、乘、除功能,并以這個(gè)“計(jì)算器”為例,來(lái)了解和掌握Windows應(yīng)用程序的一般開(kāi)發(fā)過(guò)程。62022-4-20C#程序設(shè)計(jì)實(shí)用教程9.1.1 計(jì)算器窗體Windows窗體就是創(chuàng)立Windows應(yīng)用程序的框架。在VS.NET中創(chuàng)建Windows應(yīng)用程序的第一步就是建

4、立這個(gè)框架。操作步驟如下:(1 1)運(yùn)行VS.NET,在【起始頁(yè)】上單擊【新建項(xiàng)目】按鈕,打開(kāi)“新建項(xiàng)目”對(duì)話框,如圖9-1所示。在“項(xiàng)目類型”列表框中指定項(xiàng)目的類型為“Viusal C#”,在“模板”列表框中選擇“Windows應(yīng)用程序”模板,在“名稱”文本框中輸入Calculator,在“位置”下拉列表中選定保存項(xiàng)目的位置。72022-4-20C#程序設(shè)計(jì)實(shí)用教程9.1.1 計(jì)算器窗體(2 2)單擊“確定”按鈕后就進(jìn)入VS.NET的主界面,如圖9-2所示。8從圖9-2可以看出,當(dāng)選擇“Windows應(yīng)用程序”作為應(yīng)用程序的模板后,系統(tǒng)會(huì)自動(dòng)為用戶生成一個(gè)空白窗體,一般名為Form1。該窗體

5、就是應(yīng)用程序運(yùn)行時(shí)顯示給用戶的操作界面,下一步就是向窗體中添加各種控件。2022-4-20C#程序設(shè)計(jì)實(shí)用教程9.1.2 計(jì)算器控件控件表示用戶和程序之間的圖形化連接控件表示用戶和程序之間的圖形化連接??丶梢蕴峁┗蛱幚頂?shù)據(jù)、接受用戶輸入、對(duì)事件做出響應(yīng)或執(zhí)行連接用戶和應(yīng)用程序的其他功能。因?yàn)榭丶举|(zhì)上是具有圖形接口的組件,所以它能通過(guò)組件所提供的功能并與用戶交互。窗體中的控件有很多,“工具箱”中的“Windows窗體”里包含了所有Windows的標(biāo)準(zhǔn)控件,用戶還可以根據(jù)需要自己定義控件。通過(guò)在“屬性”窗口中改變控件的屬性可以改變的外觀和特性。92022-4-20C#程序設(shè)計(jì)實(shí)用教程9.1.2

6、 計(jì)算器控件本例中需要用到如下所列的控件:(1)按鈕:16個(gè)。10個(gè)數(shù)字按鈕分別用于表示09;4個(gè)運(yùn)算符按鈕表示“+”、“-”、“*”、“”;1個(gè)“計(jì)算”按鈕用于實(shí)施計(jì)算操作;1個(gè)“清空”按鈕用于清除上次計(jì)算結(jié)果。(2)標(biāo)簽:1個(gè)。 用于標(biāo)示計(jì)算結(jié)果所在的文本框。(3)文本框:1個(gè)。 用于顯示計(jì)算結(jié)果。102022-4-20C#程序設(shè)計(jì)實(shí)用教程9.1.2 計(jì)算器控件具體添加控件步驟如下:首先向窗體中添加按鈕(Button)。具體操作為:在工具箱中單擊Button,然后移動(dòng)鼠標(biāo)指針到窗體中的預(yù)定位置,按下左鍵拖動(dòng)鼠標(biāo),劃出一個(gè)方框,釋放鼠標(biāo)左鍵后,一個(gè)按鈕就被添加到剛才方框的位置了。調(diào)整好大小和

7、位置后單擊選中該按鈕,在“屬性”窗口中可以看到該控件名為Button1,將該按鈕的Text屬性設(shè)置為“1”。繼續(xù)在窗體中添加其余15個(gè)按鈕,并分別設(shè)置好它們的屬性。112022-4-20C#程序設(shè)計(jì)實(shí)用教程9.1.2 計(jì)算器控件界面設(shè)計(jì)已經(jīng)完成了,接下來(lái)的事情就是為各個(gè)控件添加相應(yīng)的事件代碼了。12 按照同樣的方法在窗體中添加一個(gè)標(biāo)簽(Label),設(shè)置其Text屬性為“結(jié)果”,再添加一個(gè)文本框(TextBox),并設(shè)置其Text屬性為空。 最后,一個(gè)簡(jiǎn)單的計(jì)算器的界面就完成了,如圖9-3所示。2022-4-20C#程序設(shè)計(jì)實(shí)用教程9.1.3 計(jì)算器事件在C#中,基于Windows應(yīng)用程序設(shè)計(jì)

8、方法是事件驅(qū)動(dòng)的。事件驅(qū)動(dòng)不是由程序的順序來(lái)控制的,而是由事件的發(fā)生來(lái)控制的。事件驅(qū)動(dòng)程序設(shè)計(jì)是圍繞著消息的產(chǎn)生與處理而展開(kāi)的,消息就是關(guān)于發(fā)生的事件的信息。Windows程序員的工作就是對(duì)所開(kāi)發(fā)的應(yīng)用程序所要發(fā)出或者接收的消息進(jìn)行排序和管理。事件驅(qū)動(dòng)程序方法提供了許多便利,對(duì)于那些需要大范圍用戶干預(yù)的應(yīng)用程序來(lái)說(shuō),更是很有用處。132022-4-20C#程序設(shè)計(jì)實(shí)用教程9.1.3 計(jì)算器事件在“窗體設(shè)計(jì)器”中看到的是窗體及其中的控件,而要為控件添加事件處理程序就必須先切換到代碼編輯器狀態(tài)。切換到代碼編輯器有以下幾種方法:(1)雙擊窗體或者某控件。(2)在解決方案資源管理器中右鍵單擊Form1

9、.cs,從快捷菜單中選擇“查看代碼”命令。如果選擇“視圖設(shè)計(jì)器”則可以回到“窗體設(shè)計(jì)器”中。(3)當(dāng)?shù)谝淮吻袚Q到代碼編輯器之后,在窗體標(biāo)題“Form1.cs設(shè)計(jì)”的左邊會(huì)自動(dòng)出現(xiàn)一個(gè)新的標(biāo)題:Form1.cs,單擊該標(biāo)題就可以切換到代碼編輯器。反之,如果單擊“Form1.cs設(shè)計(jì)”則會(huì)切換到“窗體設(shè)計(jì)器”。142022-4-20C#程序設(shè)計(jì)實(shí)用教程9.1.3 計(jì)算器事件下面分析一下計(jì)算器中各個(gè)控件到底應(yīng)該添加什么樣的代碼。對(duì)于計(jì)算器來(lái)說(shuō),當(dāng)單擊某個(gè)數(shù)字鍵后,結(jié)果顯示區(qū)內(nèi)應(yīng)顯示該鍵上的數(shù)字。因此,可以雙擊按鈕“1”,切換到代碼編輯器,此時(shí)光標(biāo)就停留在該按鈕所對(duì)應(yīng)的代碼處,輸入下列代碼:priva

10、te void btn1_Click(object sender, EventArgs e) Button btn = (Button)sender; textBox1.Text += btn.Text;152022-4-20C#程序設(shè)計(jì)實(shí)用教程9.1.3 計(jì)算器事件繼續(xù)給其他數(shù)字按鈕添加同樣的代碼。然后給4個(gè)運(yùn)算符按鈕添加下列代碼:private void btnAdd_Click(object sender, EventArgs e) Button btn = (Button)sender; textBox1.Text = textBox1.Text+ +btn.Text+ ;/空格用于分

11、隔數(shù)字各運(yùn)算符162022-4-20C#程序設(shè)計(jì)實(shí)用教程9.1.3 計(jì)算器事件private void btnSub_Click(object sender, EventArgs e) Button btn = (Button)sender; textBox1.Text = textBox1.Text + + btn.Text + ;/空格用于分隔數(shù)字各運(yùn)算符 private void btnMul_Click(object sender, EventArgs e) Button btn = (Button)sender; textBox1.Text = textBox1.Text + + b

12、tn.Text + ;/空格用于分隔數(shù)字各運(yùn)算符 172022-4-20C#程序設(shè)計(jì)實(shí)用教程9.1.3 計(jì)算器事件 private void btnDiv_Click(object sender, EventArgs e) Button btn = (Button)sender; textBox1.Text = textBox1.Text + + btn.Text + ;/空格用于分隔數(shù)字各運(yùn)算符 接下來(lái)給“清空”按鈕添加如下代碼:private void btnClear_Click(object sender, EventArgs e) textBox1.Text = ;182022-4-

13、20C#程序設(shè)計(jì)實(shí)用教程9.1.3 計(jì)算器事件最后給“計(jì)算”按鈕添加下列代碼:private void btnCalculate_Click(object sender, EventArgs e) Single r; /用于保存計(jì)算結(jié)果 string t = textBox1.Text;/t用于保存文本框中的算術(shù)表達(dá)式 int space = t.IndexOf( );/用于搜索空格位置 string s1 = t.Substring(0, space);/s1用于保存第一個(gè)運(yùn)算數(shù) char op = Convert.ToChar(t.Substring(space + 1, 1);/op用于

14、保存運(yùn)算符 string s2 = t.Substring(space + 3);/s2用于保存第二個(gè)運(yùn)算數(shù) Single arg1 = Convert.ToSingle(s1);/將運(yùn)算數(shù)從string轉(zhuǎn)換為Single Single arg2 = Convert.ToSingle(s2); 192022-4-20C#程序設(shè)計(jì)實(shí)用教程9.1.3 計(jì)算器事件 switch (op) case +: r = arg1 + arg2; break; case -: r = arg1 - arg2; break; case *: r = arg1 * arg2; break; 202022-4-20

15、C#程序設(shè)計(jì)實(shí)用教程9.1.3 計(jì)算器事件 case /: if (arg2 = 0) throw new ApplicationException(); else r = arg1 / arg2; break; break; default: throw new ApplicationException(); 212022-4-20C#程序設(shè)計(jì)實(shí)用教程9.1.3 計(jì)算器事件 /將計(jì)算結(jié)果顯示在文本框中 textBox1.Text = r.ToString();現(xiàn)在,所有的工作都完成了。在“調(diào)試”菜單中選擇“啟動(dòng)”命令或者“開(kāi)始執(zhí)行(不調(diào)試)”命令運(yùn)行該應(yīng)用程序,計(jì)算器可以工作了。222022

16、-4-20C#程序設(shè)計(jì)實(shí)用教程 9.2 Windows窗體通過(guò)“計(jì)算器”這個(gè)例子,已初步了解了Windows應(yīng)用程序的結(jié)構(gòu)。下面具體介紹Windows應(yīng)用程序的設(shè)計(jì)和開(kāi)發(fā)。一個(gè)應(yīng)用程序除了需要實(shí)現(xiàn)應(yīng)有的功能外,還必須具有良好的用戶界面。在C#中,Windows應(yīng)用程序的界面是以窗體(Form)為基礎(chǔ)的,窗體是Windows應(yīng)用程序的基本單位,用來(lái)向用戶展示信息和接受用戶的輸入。窗體可以是標(biāo)準(zhǔn)窗口、多文檔界面(MDI)窗口、對(duì)話框的顯示界面。232022-4-20C#程序設(shè)計(jì)實(shí)用教程 9.2 Windows窗體窗體就好像一個(gè)容器,其他界面元素都可以放置在窗體中。C#中以類Form來(lái)封裝窗體,一般

17、來(lái)說(shuō),用戶設(shè)計(jì)的窗體都是類Form的派生類,用戶窗體中添加其他界面元素的操作實(shí)際上就是向派生類中添加私有成員。當(dāng)新建一個(gè)Windows應(yīng)用程序項(xiàng)目時(shí),C#就會(huì)自動(dòng)創(chuàng)建一個(gè)默認(rèn)名為Form1的Windows窗體。242022-4-20C#程序設(shè)計(jì)實(shí)用教程 9.2 Windows窗體Windows窗體由以下4部分組成:標(biāo)題欄控制按鈕邊界窗口區(qū)252022-4-20C#程序設(shè)計(jì)實(shí)用教程9.2.1 Windows窗體的基本屬性Windows窗體的屬性可以決定窗體的外觀和行為,其中常用的屬性有:名稱(Name)屬性、標(biāo)題(Text)屬性、控制菜單屬性和影響窗體外觀的屬性。1. 1. 窗體的名稱屬性(窗體

18、的名稱屬性(NameName)Name用于設(shè)置窗體的名稱,該屬性值作為窗體的標(biāo)志,用于在程序中引用窗體。在初始新建一個(gè)Windows應(yīng)用程序項(xiàng)目時(shí),自動(dòng)創(chuàng)建一個(gè)窗體,該窗體的名稱被自動(dòng)命名為Form1;添加第2個(gè)窗體時(shí),其名稱被自動(dòng)命名為Form2,依次類推。通常而言,在設(shè)計(jì)Windows窗體時(shí),可給其Name屬性設(shè)置一個(gè)有實(shí)際含義的名字。262022-4-20C#程序設(shè)計(jì)實(shí)用教程9.2.1 Windows窗體的基本屬性2. 2. 窗體的標(biāo)題屬性(窗體的標(biāo)題屬性(TextText)Text屬性用于設(shè)置窗體標(biāo)題欄顯示的內(nèi)容,它的值是一個(gè)字符串。通常,標(biāo)題欄顯示的內(nèi)容應(yīng)能概括地說(shuō)明窗體的內(nèi)容或作用

19、。例如,對(duì)于一個(gè)登錄窗體,其欄題欄設(shè)置為“歡迎登錄!”。272022-4-20C#程序設(shè)計(jì)實(shí)用教程9.2.1 Windows窗體的基本屬性3. 3. 窗體的控制菜單屬性窗體的控制菜單屬性在C#應(yīng)用程序中的Windows窗體,一般都顯示控制菜單,以方便用戶的操作。 (1) (1) ControlBoxControlBox屬性屬性:該屬性用來(lái)設(shè)置窗體上是否有控制菜單。其默認(rèn)值True,窗體上顯示控制菜單。若將該屬性設(shè)置為False,則窗體上不顯示控制菜單,如圖9-4所示。282022-4-20C#程序設(shè)計(jì)實(shí)用教程9.2.1 Windows窗體的基本屬性(2) (2) MaximizeBoxMaxi

20、mizeBox屬性:屬性:用于設(shè)置窗體上的最大化按鈕。其默認(rèn)值True,窗體上顯示最大化按鈕。若將該屬性設(shè)置為False,則窗體上不顯示最大化按鈕。(3) (3) MinimizeBoxMinimizeBox屬性:屬性:用于設(shè)置窗體上的最小化按鈕。其默認(rèn)值True,窗體上顯示最小化按鈕。若將該屬性設(shè)置為False,則窗體上不顯示最小化按鈕。292022-4-20C#程序設(shè)計(jì)實(shí)用教程9.2.1 Windows窗體的基本屬性4. 4. 設(shè)置窗體外觀的屬性設(shè)置窗體外觀的屬性(1) FormBorderStyle屬性:用于控制窗體邊界的類型。它有7個(gè)可選值,可選值說(shuō)明如表9-1所示。302022-4-

21、20C#程序設(shè)計(jì)實(shí)用教程9.2.1 Windows窗體的基本屬性(2) Size屬性:用來(lái)設(shè)置窗體的大小。(3) Location屬性:設(shè)置窗體在屏幕上的位置,即設(shè)置窗體左上角的坐標(biāo)值。(4) BackColor屬性:用于設(shè)置窗體的背景顏色,可以從彈出的調(diào)色板中選擇。312022-4-20C#程序設(shè)計(jì)實(shí)用教程9.2.1 Windows窗體的基本屬性(5) BackgroundImage屬性:用于設(shè)置窗體的背景圖像。(6) Opacity屬性:該屬性用來(lái)設(shè)置窗體的透明度。5. 5. 設(shè)置窗體可見(jiàn)性的屬性設(shè)置窗體可見(jiàn)性的屬性窗體的可見(jiàn)性由Visible屬性來(lái)控制。322022-4-20C#程序設(shè)計(jì)

22、實(shí)用教程9.2.2 創(chuàng)建窗體通常,在開(kāi)發(fā)項(xiàng)目時(shí),一個(gè)窗體往往不能滿足,通常需要用到多個(gè)窗體。C#提供了多窗體處理能力,在一個(gè)項(xiàng)目中可創(chuàng)建多個(gè)窗體,添加新窗體的方式如下:(1) (1) 選擇項(xiàng)目菜單下的“添加Windows窗體”命令,打開(kāi)“添加新項(xiàng)”對(duì)話框,如圖9-5所示。332022-4-20C#程序設(shè)計(jì)實(shí)用教程9.2.2 創(chuàng)建窗體(2) (2) 在“添加新項(xiàng)”對(duì)話框的模板框內(nèi),選擇“Windows窗體”模板,然后,單擊“打開(kāi)”按鈕,就添加一個(gè)新的Windows窗體。完成添加窗體后,在解決方案資源管理器窗口中雙擊對(duì)應(yīng)的窗體,則在Windows窗體設(shè)計(jì)器中,可顯示該窗體。342022-4-20C

23、#程序設(shè)計(jì)實(shí)用教程9.2.3 設(shè)置啟動(dòng)窗體屬性當(dāng)在應(yīng)用程序中添加了多個(gè)窗體后,默認(rèn)情況下,應(yīng)用程序中的第一個(gè)窗體被自動(dòng)指定為啟動(dòng)窗體。在應(yīng)用程序開(kāi)始運(yùn)行時(shí),此窗體就會(huì)首先顯示出來(lái)。如果想實(shí)現(xiàn)在應(yīng)用程序啟動(dòng)時(shí),顯示別的窗體,那么就要設(shè)置啟動(dòng)窗體。如何實(shí)現(xiàn)設(shè)置啟動(dòng)窗體,請(qǐng)看例9-1。【例例9-19-1】C#設(shè)置啟動(dòng)窗體。步驟如下:(1)(1) 在一個(gè)項(xiàng)目中,添加兩個(gè)窗體。352022-4-20C#程序設(shè)計(jì)實(shí)用教程9.2.3 設(shè)置啟動(dòng)窗體屬性(2) (2) 在解決方案中,有一個(gè)Program.cs文件,雙擊此文件,此時(shí)該文件的代碼如下所示:static class Program static vo

24、id Main() Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1(); 362022-4-20C#程序設(shè)計(jì)實(shí)用教程9.2.3 設(shè)置啟動(dòng)窗體屬性(3) (3) 要實(shí)現(xiàn)先啟動(dòng)Form2,只需在Program.cs文件中修改此行“Application.Run(new Form1();”代碼為“Application.Run(new Form2();”,即可。(4) (4) 運(yùn)行程序,先啟動(dòng)的窗體為Form2。37202

25、2-4-20C#程序設(shè)計(jì)實(shí)用教程9.2.4窗體的顯示與隱藏1. 1. 窗體的顯示窗體的顯示如果要在一個(gè)窗體中通過(guò)按鈕打開(kāi)另一個(gè)窗體,就必須通過(guò)調(diào)用Show()方法顯示窗體。語(yǔ)法如下:public void Show();【例例9-29-2】 在Form1窗體中添加一個(gè)Button按鈕,在按鈕的Click事件中調(diào)用Show(),打開(kāi)Form2窗體。代碼如下:private void button1_Click(object sender, EventArgs e) Form2 frm2 = new Form2(); /實(shí)例化Form2 frm2.Show(); /調(diào)用Show方法顯示Form2窗

26、體382022-4-20C#程序設(shè)計(jì)實(shí)用教程9.2.4窗體的顯示與隱藏2. 2. 窗體的隱藏窗體的隱藏通過(guò)調(diào)用Hide()方法隱藏窗體。語(yǔ)法如下:public void Hide();【例9-3】 通過(guò)登錄窗體登錄系統(tǒng),輸入用戶名和密碼后,單擊“登錄”按鈕,隱藏登錄窗體,顯示主窗體。關(guān)鍵代碼如下:this.Hide(); /調(diào)用Hide方法隱藏當(dāng)前窗體frmMain frm = new frmMain (); /實(shí)例化frmMainfrm.Show(); /調(diào)用Show方法顯示frmMain窗體392022-4-20C#程序設(shè)計(jì)實(shí)用教程9.2.5窗體的事件Windows是事件驅(qū)動(dòng)的操作系統(tǒng),對(duì)

27、Form類的任何交互都是基于事件來(lái)實(shí)現(xiàn)的。Form類提供了大量的事件用于響應(yīng)對(duì)窗體執(zhí)行的各種操作。窗體設(shè)計(jì)人員往住關(guān)心窗體的加載和關(guān)閉,通常在加載時(shí)進(jìn)行界面和數(shù)據(jù)的初始化。在關(guān)閉前進(jìn)行資源的釋放等清理操作,也可以取消關(guān)閉操作。下面詳細(xì)介紹窗體的Click、Load和FormClosing事件。402022-4-20C#程序設(shè)計(jì)實(shí)用教程9.2.5窗體的事件1. Click1. Click(單擊)事件(單擊)事件當(dāng)單擊窗體時(shí),將會(huì)觸發(fā)窗體的Click事件。語(yǔ)法如下:public event EventHandler Click【例例9-49-4】 在窗體的Click事件中編寫代碼,實(shí)現(xiàn)當(dāng)單擊窗體時(shí)

28、,彈出提示框。代碼如下:private void Form1_Click(object sender, EventArgs e) MessageBox.Show(已經(jīng)單擊了窗體!);/彈出提示框412022-4-20C#程序設(shè)計(jì)實(shí)用教程9.2.5窗體的事件程序的運(yùn)行如圖9-6所示。422022-4-20C#程序設(shè)計(jì)實(shí)用教程9.2.5窗體的事件2. Load2. Load(加載)事件(加載)事件當(dāng)?shù)谝淮沃苯踊蜷g接調(diào)用Form.Show方法來(lái)顯示窗體時(shí),窗體就會(huì)進(jìn)行且只進(jìn)行一次加載,并且在必需的加載操作完成后會(huì)引發(fā)Load事件。通常,在Load事件響應(yīng)函數(shù)中執(zhí)行一些初始化操作。語(yǔ)法如下:publi

29、c event EventHandler Load432022-4-20C#程序設(shè)計(jì)實(shí)用教程9.2.5窗體的事件【例例9-59-5】在下述程序,在窗體的Load事件中對(duì)窗體的大小、標(biāo)題、顏 色等屬性進(jìn)行了設(shè)置。private void Form1_Load(object sender, EventArgs e) this.Width = 1000; this.Height = 500; this.ForeColor = Color.Cyan; this.BackColor = Color.Red; this.Text = Welcome you!;442022-4-20C#程序設(shè)計(jì)實(shí)用教程9.

30、2.5窗體的事件程序的運(yùn)行如圖9-7所示。452022-4-20C#程序設(shè)計(jì)實(shí)用教程9.2.5窗體的事件3. 3. FormClosingFormClosing(關(guān)閉)事件(關(guān)閉)事件Form類的FormClosing事件是在窗體關(guān)閉時(shí)引發(fā)的事件,直接或間接調(diào)用Form.Close()方法都會(huì)引發(fā)事件。在FormClosing事件中,通常進(jìn)行關(guān)閉前的確認(rèn)和資源釋放操作。語(yǔ)法如下:public event FormClosingEventHandler FormClosing【例例9-69-6】創(chuàng)建一個(gè)Windows應(yīng)用程序,實(shí)現(xiàn)當(dāng)關(guān)閉窗體之前,彈出提示框,詢問(wèn)是否關(guān)閉當(dāng)前窗體,單擊“是”按鈕,

31、關(guān)閉窗體,代碼如下。462022-4-20C#程序設(shè)計(jì)實(shí)用教程9.2.5窗體的事件private void Form1_FormClosing(object sender, FormClosingEventArgs e) DialogResult dr = MessageBox.Show(是否關(guān)閉窗體, 提示, MessageBoxButtons.YesNo, MessageBoxIcon.Warning); if (dr = DialogResult.Yes) /使用if語(yǔ)句判定是否單擊“是”按鈕 e.Cancel = false; /如果單擊“是”按鈕則關(guān)閉窗體 else e.Cancel

32、 = true;/否則,不執(zhí)行操作 472022-4-20C#程序設(shè)計(jì)實(shí)用教程9.2.5窗體的事件程序的運(yùn)行如圖9-8所示。482022-4-20C#程序設(shè)計(jì)實(shí)用教程 9.3 窗體控件概述控件是包含在窗體上的對(duì)象,是構(gòu)成用戶界面的基本元素,也 是C#可視化編程的重要工具。使用控件可使程序的設(shè)計(jì)簡(jiǎn)化 避 免大量重復(fù)性工作,簡(jiǎn)化設(shè)計(jì)過(guò)程,有效地提高設(shè)計(jì)效率。對(duì)于一個(gè)程序開(kāi)發(fā)人員而言,必須掌握每類控件的功能、用途,并掌握其常用的屬性、事件和方法。492022-4-20C#程序設(shè)計(jì)實(shí)用教程 9.3 窗體控件概述在VS2005中,工具箱中包含了建立應(yīng)用程序的各種控件。工具箱分為Windows窗體、公共控

33、件、容器、菜單和工具欄、數(shù)據(jù)、組件、打印、對(duì)話框等部分,常用的Windows窗體控件放在“Windows窗體”選項(xiàng)卡下。工具箱中有數(shù)十個(gè)常用的Windows窗體控件,它們以圖標(biāo)的方式顯示在工具箱中,其名稱顯示于圖標(biāo)的右側(cè)。502022-4-20C#程序設(shè)計(jì)實(shí)用教程 9.3 窗體控件概述在介紹具體控件之前,首先在此探討一下各個(gè)控件共有的屬性、事件和方法。在C#中,所有的窗體控件,比如標(biāo)簽控件、文本框控件、按鈕控件等全部都是繼承于:System.Windows.Forms.Control。作為各種窗體控件的基類,Control類實(shí)現(xiàn)了所有窗體交互控件的基本功能。Control類的屬性、方法和事件是

34、所有窗體控件所公有的,而且其中很多是在編程中經(jīng)常會(huì)遇到的。512022-4-20C#程序設(shè)計(jì)實(shí)用教程 9.3 窗體控件概述(1 1)ControlControl類的屬性類的屬性Control類的屬性描述了一個(gè)窗體控件的所有公共屬性,可以在屬性(Properties)窗口中查看或修改窗體控件的屬性。常用的屬性如下:lName屬性每一個(gè)控件都有一個(gè)Name(名字)屬性,在應(yīng)用程序中,可通過(guò)此屬性來(lái)引用這個(gè)控件。C#會(huì)給每個(gè)新添加的控件指定一個(gè)默認(rèn)名。在應(yīng)用程序設(shè)計(jì)中,可根據(jù)需要將控件的默認(rèn)名字改成更有實(shí)際代表意義的名字。522022-4-20C#程序設(shè)計(jì)實(shí)用教程 9.3 窗體控件概述lText屬性

35、在C#中,每一個(gè)控件對(duì)象都有Text屬性。Text屬性在很多控件中都有重要的意義和作用。例如,在標(biāo)簽控件中顯示的文字、在文本框中用戶輸入的文字、組合框和窗體中的標(biāo) 題 等都是用控件的Text進(jìn)行設(shè)定的。對(duì)于Text屬性的設(shè)置過(guò)程及設(shè)置結(jié)果如圖9-9、9-10所示。532022-4-20C#程序設(shè)計(jì)實(shí)用教程 9.3 窗體控件概述lAnchor屬性Anchor的意思是“錨”,那么Anchor屬性是用來(lái)確定此控件與其容器控件的固定關(guān)系的。在此,所謂容器控件是指什么呢?顧名思義,容器控件就是像一般的容器一樣可以存放別的控件的控件!例如,窗體控件中會(huì)包含很多的控件,像標(biāo)簽控件、文本框等。這時(shí),稱包含控件

36、的控件為容器控件或父控件,而里面的控件為子控件。顯然,這必然涉及到一個(gè)問(wèn)題,即子控件與父控件的位置關(guān)系問(wèn)題。即當(dāng)父控件的位置、大小變化時(shí),子控件按照什么樣的原則改變其位置、大小。Anchor屬性就用于設(shè)置此原則。542022-4-20C#程序設(shè)計(jì)實(shí)用教程 9.3 窗體控件概述對(duì)于Anchor屬性,可以設(shè)定Top、Bottom、Right、Left中任意的幾種,設(shè)置的方法非常直觀,如圖9-11所示。552022-4-20C#程序設(shè)計(jì)實(shí)用教程 9.3 窗體控件概述圖9-11中選中變黑的方位即為設(shè)定的控件方位,圖中所示的方位為Top、Left、Bottom。此時(shí),如果容器控件變化,子控件將保證其上邊

37、緣與容器上邊的距離、左邊緣與容器左邊的距離,底邊與容器底邊的距離。其運(yùn)行效果如圖9-12所示。562022-4-20C#程序設(shè)計(jì)實(shí)用教程 9.3 窗體控件概述lDock屬性Dock屬性規(guī)定了子控件與父控件的邊緣依賴關(guān)系。Dock的效果,如圖9-13所示。57Dock的值有6種,分別是Top、Bottom、Left、Right、Fill,最后還有默認(rèn)值None。一旦Dock值被設(shè)定,子控件就會(huì)發(fā)生變化與父控件選定的邊緣相融在一起。2022-4-20C#程序設(shè)計(jì)實(shí)用教程 9.3 窗體控件概述(2 2)ControlControl類的方法類的方法可以調(diào)用Control類的方法來(lái)獲得控件的一些信息,或

38、者設(shè)置控件的屬性值及行為狀態(tài)。例如:Focus方法可設(shè)置此控件獲得的焦點(diǎn);Refresh方法可重畫控件;Select方法可激活控件;Show方法可顯示控件等。582022-4-20C#程序設(shè)計(jì)實(shí)用教程 9.3 窗體控件概述(3 3)ControlControl類的事件類的事件在C#中,當(dāng)用戶進(jìn)行某一項(xiàng)操作時(shí),會(huì)引發(fā)某個(gè)事件的發(fā)生,此時(shí)就會(huì)調(diào)用事件處理程序代碼,實(shí)現(xiàn)對(duì)程序的控制。事件驅(qū)動(dòng)實(shí)現(xiàn)是基于窗體的消息傳遞和消息循環(huán)機(jī)制的。在C#中,所有的機(jī)制都被封裝在控件之中,極大方便了編寫事件的驅(qū)動(dòng)程序。如果希望能夠更加深入地操作,或定義自己的事件,就需要聯(lián)合使用委托(Delegate)和事件(Even

39、t),可以靈活地添加、修改事件的響應(yīng),并自定義事件的處理方法。例如,Control類的可響應(yīng)的事件有:?jiǎn)螕魰r(shí)發(fā)生的Click事件;雙擊時(shí)發(fā)生的DoubleClick事件;取得焦點(diǎn)時(shí)發(fā)生的GetFocus事件;鼠標(biāo)移動(dòng)時(shí)發(fā)生的MouseMove事件等。592022-4-20C#程序設(shè)計(jì)實(shí)用教程 9.4 常用控件窗體是由一個(gè)個(gè)控件構(gòu)成的,因此熟悉控件是進(jìn)行合理、有效的程序開(kāi)發(fā)的重要前提。本節(jié)內(nèi)容將針對(duì)Windows窗體應(yīng)用程序中常見(jiàn)的控件進(jìn)行詳細(xì)介紹。602022-4-20C#程序設(shè)計(jì)實(shí)用教程9.4.1 按鈕控件按鈕(Button)是用戶與應(yīng)用程序交互的最常用的工具。它用于接收用戶的操作信息,去執(zhí)

40、行預(yù)先規(guī)定的命令,觸發(fā)相應(yīng)的事件過(guò)程,以實(shí)現(xiàn)指定的功能。1. 1. 常用屬性常用屬性(1 1)TextText屬性屬性該屬性用于設(shè)定按鈕上顯示的文本。該屬性也可為按鈕創(chuàng)建快捷方式,其方法是在作為快捷鍵的字母前加一個(gè)“&”字符,則在程序運(yùn)行時(shí),命令按鈕上該字母帶有下劃線,該字母就成為快捷鍵。例如,某個(gè)按鈕的Text屬性設(shè)置為“&Display”,程序運(yùn)行時(shí),就會(huì)顯示為“Display”。612022-4-20C#程序設(shè)計(jì)實(shí)用教程9.4.1 按鈕控件(2 2)FlatStyleFlatStyle屬性屬性該屬性指定了按鈕的外觀風(fēng)格,它有4個(gè)可選值。分別是:Flat、Popup、Sys

41、tem、Standard。該屬性的默認(rèn)值為Standard。(3 3)ImageImage屬性屬性用于設(shè)定在按鈕上顯示的圖形。(4 4)ImageAlignImageAlign屬性屬性當(dāng)圖片顯示在命令按鈕上時(shí),可以通過(guò)ImageAlign屬性調(diào)節(jié)其在按鈕上的位置。(5 5)EnableEnable屬性屬性用于設(shè)定控件是否可用,不可用,則用灰色表示。(6 6)VisibleVisible屬性屬性用于設(shè)定控件是否可見(jiàn),不可見(jiàn),則隱藏。注意:注意:上述的屬性中,前4項(xiàng)為外觀屬性;而后2項(xiàng)為行為屬性。622022-4-20C#程序設(shè)計(jì)實(shí)用教程9.4.1 按鈕控件2.2.響應(yīng)的事件響應(yīng)的事件如果按鈕具有

42、焦點(diǎn),就可以使用鼠標(biāo)左鍵、Enter鍵或空格鍵觸發(fā)該按鈕的Click事件。當(dāng)使用ShowDialog方法顯示窗體時(shí),可以使用按鈕的DialogResult屬性指定ShowDialog的返回值?!纠?-79-7】按鈕控件的運(yùn)用。(1 1)為窗體Form1添加一個(gè)計(jì)數(shù)器nCounter,并添加3個(gè)按鈕控件,分別完成遞增計(jì)數(shù)器、遞減計(jì)數(shù)器、通過(guò)消息框提示計(jì)數(shù)器的值的功能,并添加1個(gè)Label控件來(lái)顯示每次運(yùn)算后的計(jì)數(shù)器值。完成的窗體界面如圖9-14所示。632022-4-20C#程序設(shè)計(jì)實(shí)用教程9.4.1 按鈕控件(2 2)設(shè)置窗體和各控件的屬性,如表9-2所示。642022-4-20C#程序設(shè)計(jì)

43、實(shí)用教程9.4.1 按鈕控件(3 3)切換到代碼窗口,創(chuàng)建事件過(guò)程:private int nCounter;/第一次加載時(shí),進(jìn)行計(jì)數(shù)器和lblResult的初始化private void Form1_Load(object sender, EventArgs e) this.nCounter = 50; this.ShowCounter();/進(jìn)行遞增操作,并提示新值private void btnInc_Click(object sender, EventArgs e) this.nCounter+; this.ShowCounter();652022-4-20C#程序設(shè)計(jì)實(shí)用教程9.4.

44、1 按鈕控件/進(jìn)行遞減操作,并提示新值private void btnDes_Click(object sender, EventArgs e) this.nCounter-; this.ShowCounter(); /通過(guò)MessageBox提示當(dāng)前的值 private void btnMsg_Click(object sender, EventArgs e) string strMsg = 當(dāng)前計(jì)數(shù)器 + this.nCounter.ToString(D8); MessageBox.Show(strMsg, 提示); 662022-4-20C#程序設(shè)計(jì)實(shí)用教程9.4.1 按鈕控件/顯示計(jì)數(shù)

45、器值到Label控件lblResult private void ShowCounter() string strMsg = this.nCounter.ToString(D8); this.lblResult.Text = strMsg; 672022-4-20C#程序設(shè)計(jì)實(shí)用教程9.4.1 按鈕控件程序運(yùn)行結(jié)果如圖9-15所示。682022-4-20C#程序設(shè)計(jì)實(shí)用教程9.4.2標(biāo)簽控件標(biāo)簽(Label)主要用來(lái)顯示文本。通常用標(biāo)簽來(lái)為其他控件顯示說(shuō)明信息、窗體的提示信息,或者用來(lái)顯示處理結(jié)果等信息。但是,標(biāo)簽顯示的文本不能被直接編輯。除了顯示文本外,標(biāo)簽還可使用Image屬性顯示圖像,或

46、使用ImageIndex和ImageList屬性組合顯示圖像。692022-4-20C#程序設(shè)計(jì)實(shí)用教程9.4.2標(biāo)簽控件1. 1. 常用屬性常用屬性(1 1)TextText屬性屬性該屬性用于設(shè)定標(biāo)簽顯示的文本,可通過(guò)TextAlign屬性設(shè)置文本的對(duì)齊方式。(2 2)BorderStyleBorderStyle屬性屬性該屬性用于設(shè)定標(biāo)簽的邊框形式,共有3個(gè)設(shè)定值,分別是None、FixedSingle、Fixed3D。該屬性的默認(rèn)值為None。(3 3)BackColorBackColor屬性屬性用于設(shè)定標(biāo)簽的背景色。(4 4)ForeColorForeColor屬性屬性用于設(shè)定標(biāo)簽中文本

47、的顏色。(5 5)FontFont屬性屬性用于設(shè)定標(biāo)簽中文本的字體、大小、粗體、斜體、刪除線等。702022-4-20C#程序設(shè)計(jì)實(shí)用教程9.4.2標(biāo)簽控件(6 6)ImageImage屬性屬性用于設(shè)定標(biāo)簽的背景圖片,可通過(guò)ImageAlign屬性設(shè)置圖片的對(duì)齊方式。(7 7)EnableEnable屬性屬性用于設(shè)定控件是否可用,不可用,則用灰色表示。(8 8)VisibleVisible屬性屬性用于設(shè)定控件是否可見(jiàn),不可見(jiàn),則隱藏。(9 9)AutoSizeAutoSize屬性屬性用于設(shè)定控件是否根據(jù)文本自動(dòng)調(diào)整,設(shè)置為true表示自動(dòng)調(diào)整。注意:注意:上述的屬性中,前6項(xiàng)為外觀屬性;而后3

48、項(xiàng)為行為屬性。712022-4-20C#程序設(shè)計(jì)實(shí)用教程9.4.2標(biāo)簽控件2.2.響應(yīng)的事件響應(yīng)的事件標(biāo)簽控件常用的事件有:Click事件和DoubleClick事件。722022-4-20C#程序設(shè)計(jì)實(shí)用教程9.4.2標(biāo)簽控件【例例9-39-3】標(biāo)簽控件的運(yùn)用。對(duì)窗體上的3個(gè)標(biāo)簽控件的參數(shù)進(jìn)行設(shè)置,用來(lái)顯示文本。程序代碼如下:private void Form1_Load(object sender, EventArgs e) /label1參數(shù)設(shè)置,默認(rèn)字體為宋體9號(hào)、前景色為黑色 this.label1.AutoSize = true; this.label1.BackColor = S

49、ystem.Drawing.Color.White; this.label1.Text = 宋體9號(hào)白底黑字; 732022-4-20C#程序設(shè)計(jì)實(shí)用教程9.4.2標(biāo)簽控件 /label2參數(shù)設(shè)置,默認(rèn)字體為宋體9號(hào)、前景色為黑色 this.label2.AutoSize = true; this.label2.BackColor = System.Drawing.Color.Black; this.label2.Font=new System.Drawing.Font(宋體,10.5F, System.Drawing.FontStyle.Regular, System.Drawing.Gra

50、phicsUnit.Point,(byte)(134); this.label2.ForeColor=System.Drawing.Color.White; this.label2.Text = 宋體10號(hào)黑底白字“;742022-4-20C#程序設(shè)計(jì)實(shí)用教程9.4.2標(biāo)簽控件 /label3參數(shù)設(shè)置 this.label3.AutoSize = true; this.label3.BackColor = System.Drawing.Color.Blue; this.label3.Font = new System.Drawing.Font(楷體_GB2312, 14.25F, System

51、.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, (byte)(134); this.label3.ForeColor = System.Drawing.Color.Red; this.label3.Text = 楷體14號(hào)藍(lán)底紅字; 752022-4-20C#程序設(shè)計(jì)實(shí)用教程9.4.2標(biāo)簽控件程序運(yùn)行結(jié)果如圖9-16所示。762022-4-20C#程序設(shè)計(jì)實(shí)用教程9.4.3 文本框控件在C#中,文本框(TextBox)是最常用的和最簡(jiǎn)單的文本顯示和輸入控件。文本框有兩種用途,一是可以用來(lái)輸出或顯示文本信息;二是可以接

52、受從鍵盤輸入的信息。1. 1. 常用屬性常用屬性(1 1)TextText屬性屬性該屬性用于設(shè)定文本框顯示的文本,可通過(guò)TextAlign屬性設(shè)置文本的對(duì)齊方式。(2 2)BackColorBackColor屬性屬性用于設(shè)定文本框的背景色。(3 3)ForeColorForeColor屬性屬性用于設(shè)定文本框中文本的顏色。772022-4-20C#程序設(shè)計(jì)實(shí)用教程9.4.3 文本框控件(4 4)FontFont屬性屬性用于設(shè)定文本框中文本的字體、大小、粗體、斜體、刪除線等。(5 5)PasswordCharPasswordChar屬性屬性文本框控件以密碼輸入方式使用,輸入字母用該屬性指定字符屏蔽

53、。(6 6)EnableEnable屬性屬性用于設(shè)定文本框控件是否可用,不可用,則用灰色表示。(7 7)VisibleVisible屬性屬性用于設(shè)定文本框控件是否可見(jiàn),不可見(jiàn),則隱藏。(8 8)ReadOnlyReadOnly屬性屬性用于設(shè)定文本框控件是否只讀。(9 9)MultiLineMultiLine屬性屬性用于設(shè)定文本框控件是否包多行文本。注意:注意:上述的屬性中,前5項(xiàng)為外觀屬性;而后4項(xiàng)為行為屬性。782022-4-20C#程序設(shè)計(jì)實(shí)用教程9.4.3 文本框控件2.2.常用的方法常用的方法(1 1)ClearClear方法方法用于清除文本框中已有的文本。(2 2)AppendTex

54、tAppendText方法方法用于文本框最后追加文本。792022-4-20C#程序設(shè)計(jì)實(shí)用教程9.4.3 文本框控件3.3.常用的事件常用的事件在文本框控件所能響應(yīng)的事件中,TextChanged、Enter和Leave是常用的事件。(1 1)TextChangedTextChanged事件事件當(dāng)文本框的文本內(nèi)容發(fā)生變化時(shí),觸發(fā)該事件。當(dāng)向文本框輸入信息時(shí),每輸入一個(gè)字符,就會(huì)引發(fā)一次TextChanged事件。(2 2)EnterEnter事件事件當(dāng)文本框獲得焦點(diǎn)時(shí),就會(huì)引發(fā)的事件。(3 3)LeaveLeave事件事件當(dāng)文本框失去焦點(diǎn)時(shí),就會(huì)引發(fā)的事件。802022-4-20C#程序設(shè)計(jì)

55、實(shí)用教程9.4.3 文本框控件【例例9-99-9】文本框控件的運(yùn)用。實(shí)現(xiàn)步驟如下:(1)為窗體Form1添加2個(gè)TextBox控件:tbInput和tbHint,前者可編輯單行文本,用來(lái)獲取用戶輸入;后者用于顯示數(shù)據(jù),應(yīng)設(shè)置為只讀多行文本。同時(shí),再添加1個(gè)Label控件lblCopy,用來(lái)顯示輸入文本框中數(shù)據(jù)。812022-4-20C#程序設(shè)計(jì)實(shí)用教程9.4.3 文本框控件(2)在此例中,通過(guò)程序代碼設(shè)置相應(yīng)的控件的屬性。主要程序代碼如下:private void Form1_Load(object sender, EventArgs e) /設(shè)置2個(gè)文本框的屬性 this.tbInput.F

56、oreColor = Color.Blue; this.tbHint.BackColor = Color.White; this.tbHint.ForeColor = Color.Green; this.tbHint.ReadOnly = true; 822022-4-20C#程序設(shè)計(jì)實(shí)用教程9.4.3 文本框控件private void tbInput_Enter(object sender, EventArgs e) /光標(biāo)進(jìn)入清除原有文本 this.tbInput.Clear();private void tbInput_Leave(object sender, EventArgs e)

57、 /焦點(diǎn)退出,將文本添加到tbHint新的一行 this.tbHint.AppendText(this.tbInput.Text + Environment.NewLine);832022-4-20C#程序設(shè)計(jì)實(shí)用教程9.4.3 文本框控件private void tbInput_TextChanged(object sender, EventArgs e) /將當(dāng)前tbInput中文本內(nèi)容同步顯示到lblCopy中 this.lblCopy.Text = this.tbInput.Text;注意:注意:在tbInput_Leave事件中將編輯好的文本通過(guò)方法TextBox.AppendTex

58、t()追加tbHint中;在tbInput_TextChanged事件中將tbInput中最新的文本同步顯示到lbCopy控件上。程序運(yùn)行結(jié)果如圖9-17所示。842022-4-20C#程序設(shè)計(jì)實(shí)用教程9.4.4 單選按鈕控件單選按鈕(RadioButton)控件為用戶提供由兩個(gè)或多個(gè)互斥選項(xiàng)組成的選項(xiàng)集。當(dāng)用戶選中某單選項(xiàng)按鈕時(shí),同一組中的其他單選項(xiàng)按鈕不能同時(shí)選定,該控件以圓圈內(nèi)加點(diǎn)的方式表示選中。單選按鈕用來(lái)讓用戶在一組相關(guān)的選項(xiàng)中選擇一項(xiàng),因此單選按鈕控件總是成組出現(xiàn)。直接添加到一個(gè)窗體中的所有單選按鈕將形成一個(gè)組。若要添加不同的組,必須將它們放到面板或分組框中。將若干RadionBu

59、tton控件放在一個(gè)GroupBox控件內(nèi)組成一組時(shí),當(dāng)這一組中的某個(gè)單選按鈕控件被選中時(shí),該組中的其他單選控件將自動(dòng)處于不選中狀態(tài)。852022-4-20C#程序設(shè)計(jì)實(shí)用教程9.4.4 單選按鈕控件1. 1. 常用屬性常用屬性(1 1)TextText屬性屬性該屬性用于設(shè)置單選按鈕旁邊的說(shuō)明文字,以說(shuō)明單選按鈕的用途。(2 2)CheckCheck屬性屬性表示單選按鈕是否被選中,選中則Checked值為True,否則為False。2.2.響應(yīng)的事件響應(yīng)的事件單選按鈕響應(yīng)的事件主要是Click事件和CheckedChanged事件。當(dāng)鼠標(biāo)單擊單選按鈕時(shí),觸發(fā)Click事件,并且改變Checke

60、d屬性值。Checked屬性值的改變,同時(shí)將觸發(fā)CheckedChanged事件。862022-4-20C#程序設(shè)計(jì)實(shí)用教程9.4.4 單選按鈕控件【例例9-109-10】單選按鈕控件的運(yùn)用。通過(guò)選擇不同的單選按鈕,實(shí)現(xiàn)在文本框中顯示不同水果的價(jià)格。實(shí)現(xiàn)步驟如下:(1)創(chuàng)建如圖9-18所示的窗體。872022-4-20C#程序設(shè)計(jì)實(shí)用教程9.4.4 單選按鈕控件(2)設(shè)置窗體和各控件的屬性,如表9-3所示。882022-4-20C#程序設(shè)計(jì)實(shí)用教程9.4.4 單選按鈕控件(3)打開(kāi)代碼窗口,編寫事件過(guò)程。private void rdoApple_CheckedChanged(object sender, E

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論