




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第第 6 章章 窗體應(yīng)用程序設(shè)計(jì)窗體應(yīng)用程序設(shè)計(jì)6.1 一個(gè)簡(jiǎn)單的文本編輯器一個(gè)簡(jiǎn)單的文本編輯器6.2 組件的公共屬性、事件和方法組件的公共屬性、事件和方法6.3 常用的控件常用的控件6.4常用的對(duì)話框常用的對(duì)話框6.5 消息對(duì)話框消息對(duì)話框6.6 菜單和工具欄的設(shè)計(jì)菜單和工具欄的設(shè)計(jì)6.7 實(shí)例實(shí)例多文檔界面編輯器多文檔界面編輯器本本 章章 內(nèi)內(nèi) 容容C#程序設(shè)計(jì)教程蒙祖強(qiáng)編著6.1 一個(gè)簡(jiǎn)單的文本編輯器一個(gè)簡(jiǎn)單的文本編輯器應(yīng)用程序一個(gè)簡(jiǎn)單的文本編輯器應(yīng)用程序: 可以實(shí)現(xiàn)對(duì)可以實(shí)現(xiàn)對(duì)txt文件的讀取和保存以及對(duì)字符的簡(jiǎn)單文件的讀取和保存以及對(duì)字符的簡(jiǎn)單編輯操作。編輯操作。C#程序設(shè)計(jì)教程蒙祖
2、強(qiáng)編著6.1.1 創(chuàng)建文本編輯器程序的步驟創(chuàng)建文本編輯器程序的步驟6.1 一個(gè)簡(jiǎn)單的文本編輯器(1)創(chuàng)建)創(chuàng)建C#窗體應(yīng)用程序窗體應(yīng)用程序TxtEditApp:將窗體:將窗體Form1的的text屬屬性值設(shè)置為性值設(shè)置為“簡(jiǎn)單的文本編輯器簡(jiǎn)單的文本編輯器”,然后在窗體上分別添加控,然后在窗體上分別添加控件件richTextBox1和組件和組件openFileDialog1、saveFileDialog1、toolStrip1,并將控件,并將控件richTextBox1的的Dock屬性值設(shè)置為屬性值設(shè)置為Fill,使之充滿整個(gè)窗體。使之充滿整個(gè)窗體。編輯器界面編輯器界面C#程序設(shè)計(jì)教程蒙祖強(qiáng)編著
3、6.1.1 創(chuàng)建文本編輯器程序的步驟創(chuàng)建文本編輯器程序的步驟6.1 一個(gè)簡(jiǎn)單的文本編輯器(2)選擇菜單)選擇菜單“項(xiàng)目項(xiàng)目|添加組件添加組件”命令,在打開的命令,在打開的“添加新項(xiàng)添加新項(xiàng)”對(duì)話框中選擇對(duì)話框中選擇“Windows窗體窗體”項(xiàng),然后單擊項(xiàng),然后單擊“添加添加”按鈕,即按鈕,即可為程序添加一個(gè)新的窗體(其默認(rèn)名為可為程序添加一個(gè)新的窗體(其默認(rèn)名為Form2)。在新窗體上)。在新窗體上添加幾個(gè)添加幾個(gè)Label控件,以顯示相關(guān)信息:控件,以顯示相關(guān)信息:C#程序設(shè)計(jì)教程蒙祖強(qiáng)編著6.1.1 創(chuàng)建文本編輯器程序的步驟創(chuàng)建文本編輯器程序的步驟6.1 一個(gè)簡(jiǎn)單的文本編輯器(3)點(diǎn)擊控件
4、)點(diǎn)擊控件richTextBox1上方的菜單欄,然后依次輸入相應(yīng)的上方的菜單欄,然后依次輸入相應(yīng)的菜單項(xiàng):菜單項(xiàng):C#程序設(shè)計(jì)教程蒙祖強(qiáng)編著6.1.1 創(chuàng)建文本編輯器程序的步驟創(chuàng)建文本編輯器程序的步驟6.1 一個(gè)簡(jiǎn)單的文本編輯器 (4)在菜單設(shè)計(jì)界面中雙擊)在菜單設(shè)計(jì)界面中雙擊“Open file”項(xiàng),在自動(dòng)形成的項(xiàng),在自動(dòng)形成的openFileToolStripMenuItem_Click()函數(shù)中編寫相關(guān)代碼,結(jié)果如函數(shù)中編寫相關(guān)代碼,結(jié)果如下:下:/“Open file”菜單項(xiàng)菜單項(xiàng)private void openFileToolStripMenuItem_Click(object s
5、ender, EventArgs e) openFileDialog1.Filter = txt files(*.txt)|*.txt; if (openFileDialog1.ShowDialog() = DialogResult.OK) richTextBox1.LoadFile(openFileDialog1.FileName, RichTextBoxStreamType.PlainText); C#程序設(shè)計(jì)教程蒙祖強(qiáng)編著6.1.1 創(chuàng)建文本編輯器程序的步驟創(chuàng)建文本編輯器程序的步驟6.1 一個(gè)簡(jiǎn)單的文本編輯器用同樣的方法為其他菜單項(xiàng)編寫事件處理代碼,結(jié)果如下:用同樣的方法為其他菜單項(xiàng)編寫
6、事件處理代碼,結(jié)果如下:/“Save file”菜單項(xiàng)菜單項(xiàng)private void saveFileToolStripMenuItem_Click(object sender, EventArgs e) saveFileDialog1.Filter = txt files(*.txt)|*.txt; if (saveFileDialog1.ShowDialog() = DialogResult.OK) richTextBox1.SaveFile(saveFileDialog1.FileName, RichTextBoxStreamType.PlainText); /“Exit”菜單項(xiàng)菜單項(xiàng)p
7、rivate void exitToolStripMenuItem_Click(object sender, EventArgs e) Close();/“About”菜單項(xiàng)菜單項(xiàng)private void aboutToolStripMenuItem_Click(object sender, EventArgs e) Form2 frm = new Form2(); frm.ShowDialog();C#程序設(shè)計(jì)教程蒙祖強(qiáng)編著6.1.1 創(chuàng)建文本編輯器程序的步驟創(chuàng)建文本編輯器程序的步驟6.1 一個(gè)簡(jiǎn)單的文本編輯器(4)執(zhí)行該程序后,選擇相應(yīng)的菜單命令,可以打開)執(zhí)行該程序后,選擇相應(yīng)的菜單命令
8、,可以打開txt文件,文件,也可以在也可以在richTextBox1編輯文本后保存到編輯文本后保存到txt文件中:文件中:C#程序設(shè)計(jì)教程蒙祖強(qiáng)編著6.1.1 創(chuàng)建文本編輯器程序的步驟創(chuàng)建文本編輯器程序的步驟6.1 一個(gè)簡(jiǎn)單的文本編輯器【說明說明】 組件組件是指沒有界面的組件(運(yùn)行時(shí)不可見);是指沒有界面的組件(運(yùn)行時(shí)不可見);控件控件是指有界面的組件(運(yùn)行時(shí)可見)。是指有界面的組件(運(yùn)行時(shí)可見)。但有的時(shí)候也把兩者統(tǒng)稱為組件,其具體意義要根據(jù)上下文來(lái)決但有的時(shí)候也把兩者統(tǒng)稱為組件,其具體意義要根據(jù)上下文來(lái)決定。定。C#程序設(shè)計(jì)教程蒙祖強(qiáng)編著6.2 組件的公共屬性、事件和方法C#中的組件都繼承
9、中的組件都繼承System.Object類類窗體控件都繼承了窗體控件都繼承了System.Windows.Forms.Control類(該類也繼類(該類也繼承承Object類)類)因此了解因此了解System.Object類的一些常用屬性、事件和方法對(duì)掌握下類的一些常用屬性、事件和方法對(duì)掌握下文要介紹的常用組件的使用方法有著事半功倍的效果。文要介紹的常用組件的使用方法有著事半功倍的效果。C#程序設(shè)計(jì)教程蒙祖強(qiáng)編著6.2.1 Object類類6.2 組件的公共屬性、事件和方法1. public virtual bool Equals(object obj)該方法用于判斷當(dāng)前對(duì)象和給定的對(duì)象是否相
10、等。在默認(rèn)情況該方法用于判斷當(dāng)前對(duì)象和給定的對(duì)象是否相等。在默認(rèn)情況下(沒有重寫該方法時(shí)),對(duì)象下(沒有重寫該方法時(shí)),對(duì)象a和和b相等是指相等是指a和和b是非空的且指是非空的且指向同一個(gè)對(duì)象。向同一個(gè)對(duì)象。由于由于Equals()方法是一個(gè)虛方法,我們可以在定義的類中重寫它。方法是一個(gè)虛方法,我們可以在定義的類中重寫它。這樣,對(duì)象這樣,對(duì)象a和和b在什么情況下才算相等是完全由重寫代碼來(lái)決定。在什么情況下才算相等是完全由重寫代碼來(lái)決定。實(shí)際上,實(shí)際上,C#的許多類都重寫了的許多類都重寫了Equals()方法。方法。 2. public virtual int GetHashCode()GetH
11、ashCode()方法返回方法返回object對(duì)象的哈希碼,哈希碼是通過一定對(duì)象的哈希碼,哈希碼是通過一定的算法并根據(jù)對(duì)象在內(nèi)存中的地址來(lái)計(jì)算的。此算法可以保證不的算法并根據(jù)對(duì)象在內(nèi)存中的地址來(lái)計(jì)算的。此算法可以保證不同對(duì)象的哈希碼重復(fù)的可能性很小。同對(duì)象的哈希碼重復(fù)的可能性很小。 C#程序設(shè)計(jì)教程蒙祖強(qiáng)編著6.2.1 Object類類6.2 組件的公共屬性、事件和方法2. public virtual string ToString()在定義的類中可以重寫在定義的類中可以重寫ToString()方法。如果沒有重寫,則該方法方法。如果沒有重寫,則該方法返回對(duì)象所屬類的名稱。實(shí)際上,返回對(duì)象所屬
12、類的名稱。實(shí)際上,C#提供的類幾乎都重寫了該方提供的類幾乎都重寫了該方法,其中大部分的功能是法,其中大部分的功能是將相應(yīng)類型的數(shù)據(jù)轉(zhuǎn)化為字符串?dāng)?shù)據(jù)將相應(yīng)類型的數(shù)據(jù)轉(zhuǎn)化為字符串?dāng)?shù)據(jù)。C#程序設(shè)計(jì)教程蒙祖強(qiáng)編著6.2.2 Control類類6.2 組件的公共屬性、事件和方法 Control類的屬性、方法和事件是所有窗體控件供有的。了解類的屬性、方法和事件是所有窗體控件供有的。了解Control類的特征對(duì)窗體應(yīng)用程序設(shè)計(jì)是至關(guān)重要的。類的特征對(duì)窗體應(yīng)用程序設(shè)計(jì)是至關(guān)重要的。 1. Control類的屬性類的屬性(1)Text屬性屬性Text屬性值就是控件顯示的文本內(nèi)容,也是用戶輸入字符創(chuàng)串地屬性值就
13、是控件顯示的文本內(nèi)容,也是用戶輸入字符創(chuàng)串地方,其類型為字符串型。在程序運(yùn)行的過程中,該屬性值可讀可方,其類型為字符串型。在程序運(yùn)行的過程中,該屬性值可讀可寫。如寫。如 Edit1-Text = 北京奧運(yùn)北京奧運(yùn); /向編輯框?qū)懽执蚓庉嬁驅(qū)懽执?String str = Edit1-Text; /讀取編輯框中的內(nèi)容讀取編輯框中的內(nèi)容(2)Anchor屬性屬性該屬性用于設(shè)定控件與其容器控件在四個(gè)邊沿(左、右、上、下)該屬性用于設(shè)定控件與其容器控件在四個(gè)邊沿(左、右、上、下)距離上的固定位置關(guān)系。距離上的固定位置關(guān)系。Anchor屬性是一種集合類型,可以同時(shí)取多個(gè)值,如:屬性是一種集合類型,可以
14、同時(shí)取多個(gè)值,如:richTextBox1.Anchor = (AnchorStyles.Top|AnchorStyles.Bottom);C#程序設(shè)計(jì)教程蒙祖強(qiáng)編著6.2.2 Control類類6.2 組件的公共屬性、事件和方法(3)Dock屬性屬性該屬性用于設(shè)定子控件在其容器控件中的填充方式,其取值和意該屬性用于設(shè)定子控件在其容器控件中的填充方式,其取值和意義是:義是:DockStyle.Fill:任何時(shí)候子控件都填充整個(gè)容器控件:任何時(shí)候子控件都填充整個(gè)容器控件DockStyle.None:子控件按照設(shè)計(jì)時(shí)的界面出現(xiàn),不隨容器控件:子控件按照設(shè)計(jì)時(shí)的界面出現(xiàn),不隨容器控件的大小發(fā)生變化而
15、變化的大小發(fā)生變化而變化DockStyle.Top、DockStyle.Bottom、DockStyle.Left、DockStyle.Right:分別表示子控件向上、向下、向左和向右充滿:分別表示子控件向上、向下、向左和向右充滿半個(gè)容器控件,容器控件的大小發(fā)生變化時(shí)子控件仍然保持這種半個(gè)容器控件,容器控件的大小發(fā)生變化時(shí)子控件仍然保持這種狀態(tài)狀態(tài)C#程序設(shè)計(jì)教程蒙祖強(qiáng)編著6.2.2 Control類類6.2 組件的公共屬性、事件和方法(3)Dock屬性屬性該屬性用于設(shè)定子控件在其容器控件中的填充方式,其取值和意該屬性用于設(shè)定子控件在其容器控件中的填充方式,其取值和意義是:義是:DockSty
16、le.Fill:任何時(shí)候子控件都填充整個(gè)容器控件:任何時(shí)候子控件都填充整個(gè)容器控件DockStyle.None:子控件按照設(shè)計(jì)時(shí)的界面出現(xiàn),不隨容器控件:子控件按照設(shè)計(jì)時(shí)的界面出現(xiàn),不隨容器控件的大小發(fā)生變化而變化的大小發(fā)生變化而變化DockStyle.Top、DockStyle.Bottom、DockStyle.Left、DockStyle.Right:分別表示子控件向上、向下、向左和向右充滿:分別表示子控件向上、向下、向左和向右充滿半個(gè)容器控件,容器控件的大小發(fā)生變化時(shí)子控件仍然保持這種半個(gè)容器控件,容器控件的大小發(fā)生變化時(shí)子控件仍然保持這種狀態(tài)狀態(tài)Control類的其他屬性,請(qǐng)參見教材中
17、表類的其他屬性,請(qǐng)參見教材中表6.1 。C#程序設(shè)計(jì)教程蒙祖強(qiáng)編著6.2.2 Control類類6.2 組件的公共屬性、事件和方法2. Control類的方法類的方法(1)FindForm()方法方法該方法返回控件所在的窗體。該方法返回控件所在的窗體。(2)Focus()方法方法 該方法的作用是使控件獲得焦點(diǎn)。該方法的作用是使控件獲得焦點(diǎn)。(3)GetContainerControl()方法方法 該方法返回父控件鏈的下一個(gè)該方法返回父控件鏈的下一個(gè)ContainerControl。(4)Hide()方法方法該方法用于隱藏控件,使之不可見,但控件并沒有被銷毀,相當(dāng)于令該方法用于隱藏控件,使之不可
18、見,但控件并沒有被銷毀,相當(dāng)于令visible 屬性值為屬性值為false。C#程序設(shè)計(jì)教程蒙祖強(qiáng)編著6.2.2 Control類類6.2 組件的公共屬性、事件和方法2. Control類的方法類的方法(5)Show()方法方法 該方法用于顯示控件,使之可見,但控件并不是創(chuàng)建一個(gè)新的控件,而是該方法用于顯示控件,使之可見,但控件并不是創(chuàng)建一個(gè)新的控件,而是顯示已有的控件,相當(dāng)于令顯示已有的控件,相當(dāng)于令visible 屬性值為屬性值為true。(6)Scale(int m)方法方法將控件放大或縮小控件為原來(lái)的將控件放大或縮小控件為原來(lái)的m倍。倍。(7)Contains(Control ctl)
19、方法方法該方法判斷控件該方法判斷控件ctl是否是當(dāng)前控件的子控件,如果是則返回是否是當(dāng)前控件的子控件,如果是則返回true,否則返,否則返回回false。(8)GetTopLevel()方法方法判斷當(dāng)前控件是否為頂層控件,如果是則返回判斷當(dāng)前控件是否為頂層控件,如果是則返回true,否則返回,否則返回false。C#程序設(shè)計(jì)教程蒙祖強(qiáng)編著6.2.2 Control類類6.2 組件的公共屬性、事件和方法3. Control類的事件類的事件點(diǎn)擊、滾動(dòng)、移動(dòng)鼠標(biāo),按下鍵盤等操作都會(huì)產(chǎn)生相應(yīng)的事件,點(diǎn)擊、滾動(dòng)、移動(dòng)鼠標(biāo),按下鍵盤等操作都會(huì)產(chǎn)生相應(yīng)的事件,事件發(fā)生時(shí)會(huì)調(diào)用相應(yīng)的事件處理函數(shù)。這種處理函數(shù)
20、實(shí)際上也事件發(fā)生時(shí)會(huì)調(diào)用相應(yīng)的事件處理函數(shù)。這種處理函數(shù)實(shí)際上也是是Control類的方法,與上面方法不同的是,事件處理函數(shù)是在事類的方法,與上面方法不同的是,事件處理函數(shù)是在事件發(fā)生時(shí)由系統(tǒng)自動(dòng)調(diào)用(而不是由用戶代碼調(diào)用);而上面方件發(fā)生時(shí)由系統(tǒng)自動(dòng)調(diào)用(而不是由用戶代碼調(diào)用);而上面方法則使由用戶代碼調(diào)用。顯然,利用事件和處理函數(shù)之間的自動(dòng)法則使由用戶代碼調(diào)用。顯然,利用事件和處理函數(shù)之間的自動(dòng)調(diào)用關(guān)系,可以方便實(shí)現(xiàn)上面方法難以完成的一些功能。調(diào)用關(guān)系,可以方便實(shí)現(xiàn)上面方法難以完成的一些功能。Control類定義了大量的事件,當(dāng)在屬性編輯框中雙擊事件名右邊類定義了大量的事件,當(dāng)在屬性編輯框
21、中雙擊事件名右邊的空白處時(shí)即可自動(dòng)產(chǎn)生事件處理函數(shù)的框架,我們只需在函數(shù)的空白處時(shí)即可自動(dòng)產(chǎn)生事件處理函數(shù)的框架,我們只需在函數(shù)框架中編寫相應(yīng)的事件處理代碼即可??蚣苤芯帉懴鄳?yīng)的事件處理代碼即可。C#程序設(shè)計(jì)教程蒙祖強(qiáng)編著6.2.2 Control類類6.2 組件的公共屬性、事件和方法3. Control類的事件類的事件鼠標(biāo)事件鼠標(biāo)事件ClickDoubleClickMouseEnterMouseLeaveMouseDownMouseUpMouseMoveMouseHover鍵盤事件鍵盤事件KeyPressKeyDownKeyUp拖動(dòng)事件拖動(dòng)事件DragDropDragEnterDragLea
22、veDragOver 焦點(diǎn)事件焦點(diǎn)事件EnterLeave C#程序設(shè)計(jì)教程蒙祖強(qiáng)編著6.3.1 按鈕類控件按鈕類控件6.3 常用的控件(1)Button控件控件(Button控件具有一定的代表性,這里稍微詳細(xì)地介紹此控件)控件具有一定的代表性,這里稍微詳細(xì)地介紹此控件)Button控件是最常用的按鈕控件,幾乎在窗體應(yīng)用程序中都涉及控件是最常用的按鈕控件,幾乎在窗體應(yīng)用程序中都涉及到它。它允許用戶通過單擊操作來(lái)執(zhí)行某些代碼。單擊一個(gè)按鈕到它。它允許用戶通過單擊操作來(lái)執(zhí)行某些代碼。單擊一個(gè)按鈕相當(dāng)于執(zhí)行相應(yīng)的一個(gè)函數(shù),該函數(shù)就是單擊相當(dāng)于執(zhí)行相應(yīng)的一個(gè)函數(shù),該函數(shù)就是單擊Button按鈕時(shí)產(chǎn)生按
23、鈕時(shí)產(chǎn)生的的Click事件的事件處理函數(shù)。事件的事件處理函數(shù)。在設(shè)計(jì)界面中雙擊在設(shè)計(jì)界面中雙擊Button控件(或選中該按鈕后在屬性框中雙擊控件(或選中該按鈕后在屬性框中雙擊“Click”項(xiàng)右邊的空白處)即可自動(dòng)形成該函數(shù)框架:項(xiàng)右邊的空白處)即可自動(dòng)形成該函數(shù)框架:private void button1_Click(object sender, EventArgs e) /事件處理代碼事件處理代碼當(dāng)單擊當(dāng)單擊Button控件時(shí),該函數(shù)被執(zhí)行。我們需要做的是,根據(jù)需控件時(shí),該函數(shù)被執(zhí)行。我們需要做的是,根據(jù)需要在該函數(shù)中編寫相應(yīng)的代碼,以完成既定的功能。要在該函數(shù)中編寫相應(yīng)的代碼,以完成既定
24、的功能。C#程序設(shè)計(jì)教程蒙祖強(qiáng)編著6.3.1 按鈕類控件按鈕類控件6.3 常用的控件button1_Click(object sender, EventArgs e)有兩個(gè)參數(shù)(其他許多有兩個(gè)參數(shù)(其他許多事件處理函數(shù)也有這兩個(gè)參數(shù)):事件處理函數(shù)也有這兩個(gè)參數(shù)):sender:保存了導(dǎo)致該事件發(fā)生的控件:保存了導(dǎo)致該事件發(fā)生的控件e:則保存了所發(fā)生的事件:則保存了所發(fā)生的事件例如,我們可以用下列代碼顯示這兩個(gè)參數(shù)的相關(guān)信息:例如,我們可以用下列代碼顯示這兩個(gè)參數(shù)的相關(guān)信息:private void button1_Click(object sender, EventArgs e) Butto
25、n bt = (Button)sender; textBox1.Text = bt.Text; Type ty = e.GetType(); textBox2.Text = ty.ToString(); 結(jié)果結(jié)果textBox1和和textBox2分別顯示分別顯示“button1”和和“System.Windows.Forms. MouseEventArgs”。C#程序設(shè)計(jì)教程蒙祖強(qiáng)編著6.3.1 按鈕類控件按鈕類控件6.3 常用的控件(2)RadioButton按鈕(單選按鈕)按鈕(單選按鈕)Checked屬性屬性:當(dāng)該值為:當(dāng)該值為true時(shí)處于選中狀態(tài),為時(shí)處于選中狀態(tài),為false時(shí)處
26、于未時(shí)處于未選中狀態(tài),反之亦然。選中狀態(tài),反之亦然。RadioButton按鈕具有排斥性,即當(dāng)一個(gè)按鈕為選中狀態(tài)時(shí),其按鈕具有排斥性,即當(dāng)一個(gè)按鈕為選中狀態(tài)時(shí),其他的他的RadioButton則處于未被選中狀態(tài)則處于未被選中狀態(tài)CheckedChanged事件事件:當(dāng)單選按鈕的狀態(tài)發(fā)生改變(:當(dāng)單選按鈕的狀態(tài)發(fā)生改變(Checked屬性值由屬性值由true變?yōu)樽優(yōu)閒alse,或由,或由false變?yōu)樽優(yōu)閠rue)時(shí),)時(shí),CheckedChanged事件被觸發(fā),緊接著執(zhí)行事件被觸發(fā),緊接著執(zhí)行CheckedChanged()方方法。因此,希望在單選按鈕的狀態(tài)發(fā)生改變時(shí)完成一些操作,相法。因此,
27、希望在單選按鈕的狀態(tài)發(fā)生改變時(shí)完成一些操作,相應(yīng)代碼應(yīng)該在該方法中編寫:應(yīng)代碼應(yīng)該在該方法中編寫:private void radioButton1_CheckedChanged(object sender, EventArgs e) /事件處理代碼事件處理代碼C#程序設(shè)計(jì)教程蒙祖強(qiáng)編著6.3.1 按鈕類控件按鈕類控件6.3 常用的控件(3)CheckBox按鈕(復(fù)選按鈕)按鈕(復(fù)選按鈕)Checked屬性:屬性:復(fù)選按鈕與單選按鈕很相似,它也通常成組出現(xiàn),復(fù)選按鈕與單選按鈕很相似,它也通常成組出現(xiàn),其選中與否也完全由它的其選中與否也完全由它的Checked屬性值來(lái)決定。不同的是,在屬性值來(lái)決
28、定。不同的是,在同一時(shí)刻允許有同一時(shí)刻允許有0個(gè)或多個(gè)復(fù)選按鈕被選中。個(gè)或多個(gè)復(fù)選按鈕被選中。CheckedChanged事件:事件:其觸發(fā)方式和處理函數(shù)的調(diào)用和編寫方其觸發(fā)方式和處理函數(shù)的調(diào)用和編寫方法與單選按鈕的相同。法與單選按鈕的相同。C#程序設(shè)計(jì)教程蒙祖強(qiáng)編著6.3.1 按鈕類控件按鈕類控件6.3 常用的控件【例例6.1】 按鈕類控件的應(yīng)用舉例。按鈕類控件的應(yīng)用舉例。本例創(chuàng)建一個(gè)窗體應(yīng)用程序?qū)崿F(xiàn)的功能包括:本例創(chuàng)建一個(gè)窗體應(yīng)用程序?qū)崿F(xiàn)的功能包括:(1)將輸入的字符串轉(zhuǎn)換為相應(yīng)的大寫或小寫字符串;)將輸入的字符串轉(zhuǎn)換為相應(yīng)的大寫或小寫字符串;(2)可以指定轉(zhuǎn)換的方式(大寫或小寫),如果不
29、指定方式則原)可以指定轉(zhuǎn)換的方式(大寫或小寫),如果不指定方式則原樣輸出;樣輸出;(3)可以限制輸入字符的范圍:字母、數(shù)字或其他可視字符。)可以限制輸入字符的范圍:字母、數(shù)字或其他可視字符。程序界面程序界面C#程序設(shè)計(jì)教程蒙祖強(qiáng)編著6.3.1 按鈕類控件按鈕類控件6.3 常用的控件【例例6.1】 按鈕類控件的應(yīng)用舉例。按鈕類控件的應(yīng)用舉例。本例創(chuàng)建一個(gè)窗體應(yīng)用程序?qū)崿F(xiàn)的功能包括:本例創(chuàng)建一個(gè)窗體應(yīng)用程序?qū)崿F(xiàn)的功能包括:(1)將輸入的字符串轉(zhuǎn)換為相應(yīng)的大寫或小寫字符串;)將輸入的字符串轉(zhuǎn)換為相應(yīng)的大寫或小寫字符串;(2)可以指定轉(zhuǎn)換的方式(大寫或小寫),如果不指定方式則原)可以指定轉(zhuǎn)換的方式(大
30、寫或小寫),如果不指定方式則原樣輸出;樣輸出;(3)可以限制輸入字符的范圍:字母、數(shù)字或其他可視字符。)可以限制輸入字符的范圍:字母、數(shù)字或其他可視字符。設(shè)計(jì)思想:設(shè)計(jì)思想:(1)字符串的大、小寫轉(zhuǎn)換可以用類)字符串的大、小寫轉(zhuǎn)換可以用類string的的ToLower()和和ToUpper()方法來(lái)實(shí)現(xiàn);方法來(lái)實(shí)現(xiàn);(2)轉(zhuǎn)換方式的指定通過單選按鈕來(lái)輔助完成;)轉(zhuǎn)換方式的指定通過單選按鈕來(lái)輔助完成;(3)字符輸入范圍的限制則由輔助完成,其中還用到了)字符輸入范圍的限制則由輔助完成,其中還用到了TextBox類型控件的類型控件的KeyPress事件和事件和KeyUp事件。事件。C#程序設(shè)計(jì)教程蒙
31、祖強(qiáng)編著6.3.1 按鈕類控件按鈕類控件6.3 常用的控件程序的關(guān)鍵代碼如下:程序的關(guān)鍵代碼如下: public partial class Form1 : Form private int flag = 0; private string str = ; public Form1() InitializeComponent(); private void button1_Click(object sender, EventArgs e) str = textBox1.Text; if (flag = 1) str = str.ToLower(); else if (flag = 2) str
32、 = str.ToUpper(); /如果如果flag=0,則表示原樣輸出,則表示原樣輸出 textBox2.Text = str; C#程序設(shè)計(jì)教程蒙祖強(qiáng)編著6.3.1 按鈕類控件按鈕類控件6.3 常用的控件 private void radioButton1_CheckedChanged(object sender, EventArgs e) flag = 1; /1表示轉(zhuǎn)換為小寫字符表示轉(zhuǎn)換為小寫字符 private void radioButton2_CheckedChanged(object sender, EventArgs e) flag = 2; /2表示轉(zhuǎn)換為大寫字符表示轉(zhuǎn)換
33、為大寫字符 C#程序設(shè)計(jì)教程蒙祖強(qiáng)編著6.3.1 按鈕類控件按鈕類控件6.3 常用的控件 private void textBox1_KeyPress(object sender, KeyPressEventArgs e) char c = e.KeyChar; int ascii = c;/獲取字符的獲取字符的ASCII碼碼 if (ascii = 65 & ascii = 97 & ascii = 48 & ascii = 57) /c為數(shù)字時(shí)為數(shù)字時(shí) if (checkBox2.Checked) str += c.ToString(); /如果允許輸入數(shù)字如果允許輸入數(shù)字 else /c
34、為其他可視符號(hào)為其他可視符號(hào) /如果允許輸入其他可視符號(hào)如果允許輸入其他可視符號(hào) if (checkBox3.Checked) str += c.ToString(); C#程序設(shè)計(jì)教程蒙祖強(qiáng)編著6.3.1 按鈕類控件按鈕類控件6.3 常用的控件 private void textBox1_KeyUp(object sender, KeyEventArgs e) textBox1.Text = str; textBox1.Focus(); /將光標(biāo)置于最后一個(gè)字符后面將光標(biāo)置于最后一個(gè)字符后面 textBox1.Select(textBox1.Text.Length, 0); C#程序設(shè)計(jì)教程
35、蒙祖強(qiáng)編著6.3.2 文本類控件文本類控件6.3 常用的控件1. TextBox控件(文本框)控件(文本框)文本框經(jīng)常用于獲取用戶輸入的文本或顯示程序以文本方式輸出文本框經(jīng)常用于獲取用戶輸入的文本或顯示程序以文本方式輸出的結(jié)果,可以用于簡(jiǎn)單的文本編輯操作。的結(jié)果,可以用于簡(jiǎn)單的文本編輯操作。 (1)重要屬性)重要屬性Text屬性屬性 該屬性是文本框最常用的屬性,其顯示的文本正是包含在此屬性該屬性是文本框最常用的屬性,其顯示的文本正是包含在此屬性中,類型為中,類型為string。默認(rèn)情況下,。默認(rèn)情況下,Text屬性可以保存最大長(zhǎng)度為屬性可以保存最大長(zhǎng)度為2048個(gè)字符。該屬性可讀可寫,如:個(gè)字
36、符。該屬性可讀可寫,如:textBox1.Text = 中華人民共和國(guó)!中華人民共和國(guó)!;string s = textBox1.Text;SelectedText屬性屬性 該屬性值返回文本框中已被選中的文本。該屬性值返回文本框中已被選中的文本。SelectionLength屬性屬性 該屬性值返回文本框中已被選中的文本的長(zhǎng)度,即該屬性值返回文本框中已被選中的文本的長(zhǎng)度,即SelectedText的的長(zhǎng)度。長(zhǎng)度。C#程序設(shè)計(jì)教程蒙祖強(qiáng)編著6.3.2 文本類控件文本類控件6.3 常用的控件SelectionStart屬性屬性 該屬性值返回文本框中已被選中的文本的開始位置,如果沒有文該屬性值返回文本
37、框中已被選中的文本的開始位置,如果沒有文本被選中,則返回緊跟在當(dāng)前光標(biāo)后面的字符的位置。本被選中,則返回緊跟在當(dāng)前光標(biāo)后面的字符的位置。Modified屬性屬性 當(dāng)更改文本框的內(nèi)容時(shí),該屬性被設(shè)置為當(dāng)更改文本框的內(nèi)容時(shí),該屬性被設(shè)置為true。ReadOnly屬性屬性當(dāng)當(dāng)ReadOnly屬性值為屬性值為true時(shí)文本框中的字符只能被讀(如可復(fù)制時(shí)文本框中的字符只能被讀(如可復(fù)制等),而不能進(jìn)行寫操作(如修改、刪除等)。等),而不能進(jìn)行寫操作(如修改、刪除等)。ReadOnly屬性的屬性的默認(rèn)值為默認(rèn)值為false,這時(shí)文本框可讀可寫。,這時(shí)文本框可讀可寫。PasswordChar屬性屬性 當(dāng)當(dāng)
38、PasswordChar屬性值設(shè)置為屬性值設(shè)置為“*”,在用該編輯框輸入字符時(shí),在用該編輯框輸入字符時(shí)它顯示的都是它顯示的都是“*”(顯示星號(hào));當(dāng)然也可以(顯示星號(hào));當(dāng)然也可以PasswordChar屬屬性值設(shè)置為其它字符,那么在輸入時(shí)就顯示相應(yīng)的字符。該屬性性值設(shè)置為其它字符,那么在輸入時(shí)就顯示相應(yīng)的字符。該屬性的默認(rèn)值為空,這時(shí)輸入的字符被原樣顯示。的默認(rèn)值為空,這時(shí)輸入的字符被原樣顯示。C#程序設(shè)計(jì)教程蒙祖強(qiáng)編著6.3.2 文本類控件文本類控件6.3 常用的控件BorderStyle屬性屬性BorderStyle屬性有三個(gè)值:屬性有三個(gè)值:None、FixedSingle和和Fixe
39、d3D(默認(rèn)(默認(rèn)值),不同取值的效果如下圖:值),不同取值的效果如下圖:HideSelection屬性屬性當(dāng)取值為當(dāng)取值為true時(shí),如果文本框失去焦點(diǎn),則被選中的文本不再保時(shí),如果文本框失去焦點(diǎn),則被選中的文本不再保持被選中狀態(tài);當(dāng)該屬性取值為持被選中狀態(tài);當(dāng)該屬性取值為false時(shí),如果文本框失去焦點(diǎn),時(shí),如果文本框失去焦點(diǎn),則被選中的文本仍然保持被選中狀態(tài)。則被選中的文本仍然保持被選中狀態(tài)。C#程序設(shè)計(jì)教程蒙祖強(qiáng)編著6.3.2 文本類控件文本類控件6.3 常用的控件Multiline屬性屬性 Multiline為布爾型屬性。當(dāng)其取值為為布爾型屬性。當(dāng)其取值為false(默認(rèn)值)時(shí),表示
40、只(默認(rèn)值)時(shí),表示只能輸入一行字符;當(dāng)取值為能輸入一行字符;當(dāng)取值為true時(shí),表示允許輸入多行字符,時(shí),表示允許輸入多行字符,rn表示換行。例如,下列代碼將在表示換行。例如,下列代碼將在textBox1中輸出兩行字符:中輸出兩行字符:textBox1.Text += aaaaaaarn;textBox1.Text += ccc;ScrollBars屬性屬性該屬性用于設(shè)置文本框的滾動(dòng)條。它有四種取值:該屬性用于設(shè)置文本框的滾動(dòng)條。它有四種取值:uNone:沒有滾動(dòng)條:沒有滾動(dòng)條uHorizontal:只有水平方向上有滾動(dòng)條:只有水平方向上有滾動(dòng)條uVertical:只有垂直方向上有滾動(dòng)條:只
41、有垂直方向上有滾動(dòng)條uBoth:垂直和水平方向上都有滾動(dòng)條:垂直和水平方向上都有滾動(dòng)條C#程序設(shè)計(jì)教程蒙祖強(qiáng)編著6.3.2 文本類控件文本類控件6.3 常用的控件Lines屬性屬性 當(dāng)當(dāng)Multiline屬性為屬性為true時(shí),文本框中允許編輯多行字符。利時(shí),文本框中允許編輯多行字符。利用文本框的用文本框的Lines屬性則可以實(shí)現(xiàn)逐行訪問。屬性則可以實(shí)現(xiàn)逐行訪問。 Lines屬性值的類型為字符串?dāng)?shù)組屬性值的類型為字符串?dāng)?shù)組string。例如,可以用下列語(yǔ)句將文本框例如,可以用下列語(yǔ)句將文本框textBox1中的數(shù)據(jù)逐行讀出來(lái):中的數(shù)據(jù)逐行讀出來(lái):string lines = textBox1.
42、Lines;for (int i = 0; i lines.Length; i+) /處理第處理第i+1行數(shù)據(jù)行數(shù)據(jù)linesi C#程序設(shè)計(jì)教程蒙祖強(qiáng)編著6.3.2 文本類控件文本類控件6.3 常用的控件(2)重要方法)重要方法SelectAll()方法方法該方法用于選中文本框中所有的文本。該方法用于選中文本框中所有的文本。Select(int start, int length)方法方法該方法用于選中文本框中從索引為該方法用于選中文本框中從索引為start的字符開始一共的字符開始一共length字字符的文本。符的文本。Undo()方法方法該方法用于撤銷上一次的操作。該方法用于撤銷上一次的操
43、作。Copy()方法方法該方法用于將文本框中被選中的字符復(fù)制到剪貼板中。該方法用于將文本框中被選中的字符復(fù)制到剪貼板中。Paste()方法方法該方法用于將剪貼板中的內(nèi)容替換到文本框中被選中的內(nèi)容。該方法用于將剪貼板中的內(nèi)容替換到文本框中被選中的內(nèi)容。Cut()方法方法該方法用于將文本框中被選中的字符剪切到剪貼板中。該方法用于將文本框中被選中的字符剪切到剪貼板中。C#程序設(shè)計(jì)教程蒙祖強(qiáng)編著6.3.2 文本類控件文本類控件6.3 常用的控件(3)重要事件)重要事件ModifiedChanged事件事件當(dāng)當(dāng)Modified屬性值發(fā)生變動(dòng)時(shí)該事件發(fā)生。屬性值發(fā)生變動(dòng)時(shí)該事件發(fā)生。TextChanged
44、事件事件一旦文本框的內(nèi)容發(fā)生改變,都會(huì)立即觸發(fā)該事件,從而調(diào)用相一旦文本框的內(nèi)容發(fā)生改變,都會(huì)立即觸發(fā)該事件,從而調(diào)用相應(yīng)的事件處理函數(shù)。應(yīng)的事件處理函數(shù)。C#程序設(shè)計(jì)教程蒙祖強(qiáng)編著6.3.2 文本類控件文本類控件6.3 常用的控件2. RichTextBox控件控件(1)RichTextBox控件重要的屬性控件重要的屬性SelectionColor屬性屬性該屬性用于設(shè)置被選中文本的顏色。例如:該屬性用于設(shè)置被選中文本的顏色。例如:richTextBox1.SelectionColor = Color.Red; /紅色紅色SelectionFont屬性屬性該屬性用于設(shè)置被選中文本的字體。例如:
45、該屬性用于設(shè)置被選中文本的字體。例如:richTextBox1.SelectionFont = new Font(隸書隸書, 18, FontStyle.Bold | FontStyle.Italic | FontStyle.Underline);C#程序設(shè)計(jì)教程蒙祖強(qiáng)編著6.3.2 文本類控件文本類控件6.3 常用的控件(2)RichTextBox控件重要的方法控件重要的方法Find()方法方法該方法用于在該方法用于在RichTextBox控件中尋找一個(gè)給定的字符串,返回字控件中尋找一個(gè)給定的字符串,返回字符串在符串在RichTextBox控件中第一個(gè)匹配字符的索引,如果查找失敗控件中第一個(gè)
46、匹配字符的索引,如果查找失敗則返回則返回-1。它重載有多個(gè)版本,常用的包括:。它重載有多個(gè)版本,常用的包括:int richTextBox1.Find(string str);int richTextBox1.Find(string str, RichTextBoxFinds option);int richTextBox1.Find(string str, int start, RichTextBoxFinds option);int richTextBox1.Find(string str, int start, int end, RichTextBoxFinds option); C#程
47、序設(shè)計(jì)教程蒙祖強(qiáng)編著6.3.2 文本類控件文本類控件6.3 常用的控件LoadFile()方法方法 該方法用于將指定的文件加載到該方法用于將指定的文件加載到RichTextBox控件中,它也有三種控件中,它也有三種重載版本,與上述重載版本,與上述SaveFile()方法分別對(duì)應(yīng)的是:方法分別對(duì)應(yīng)的是:void LoadFile(string path)void LoadFile(string path, RichTextBoxStreamType fileType)例如,下列語(yǔ)句將在控件例如,下列語(yǔ)句將在控件richTextBox2中打開中打開C:/text.rtf文件:文件:richText
48、Box2.LoadFile(C:/text.rtf);或者,或者,richTextBox2.LoadFile(C:/text.rtf, RichTextBoxStreamType.RichText);C#程序設(shè)計(jì)教程蒙祖強(qiáng)編著6.3.2 文本類控件文本類控件6.3 常用的控件(3)RichTextBox控件重要的事件控件重要的事件ModifiedChanged事件事件RichTextBox控件中的文本一旦受到更改,立即觸發(fā)該事件??丶械奈谋疽坏┦艿礁模⒓从|發(fā)該事件。SelectionChanged事件事件觸發(fā)條件是:光標(biāo)移動(dòng),即一旦移動(dòng)光標(biāo),該事件即可發(fā)生。因觸發(fā)條件是:光標(biāo)移動(dòng),即一旦
49、移動(dòng)光標(biāo),該事件即可發(fā)生。因此可以利用該事件監(jiān)控光標(biāo)。此可以利用該事件監(jiān)控光標(biāo)。C#程序設(shè)計(jì)教程蒙祖強(qiáng)編著6.3.3 列表類控件列表類控件6.3 常用的控件1. ListBox控件(列表框)控件(列表框)(1)重要屬性)重要屬性SelectionMode屬性屬性當(dāng)該屬性取值為當(dāng)該屬性取值為SelectionMode.One時(shí)表示一次只能選中時(shí)表示一次只能選中ListBox控控件中的件中的1項(xiàng)(默認(rèn)設(shè)置):項(xiàng)(默認(rèn)設(shè)置):listBox1.SelectionMode = SelectionMode.One;當(dāng)為當(dāng)為SelectionMode.MultiSimple時(shí)表示可以選擇多項(xiàng),為時(shí)表示可以
50、選擇多項(xiàng),為None時(shí)時(shí)不能選擇任何項(xiàng)。不能選擇任何項(xiàng)。Items.Count屬性屬性該屬性返回該屬性返回ListBox控件中項(xiàng)的總數(shù)。控件中項(xiàng)的總數(shù)。C#程序設(shè)計(jì)教程蒙祖強(qiáng)編著6.3.3 列表類控件列表類控件6.3 常用的控件SelectedIndex屬性屬性該屬性返回被選中的項(xiàng)的索引值;如果該屬性返回被選中的項(xiàng)的索引值;如果ListBox控件允許選擇多項(xiàng)控件允許選擇多項(xiàng)(SelectionMode屬性值取屬性值取SelectionMode.MultiSimple),則該屬),則該屬性返回所有被選中的項(xiàng)中索引值最小的項(xiàng)的索引值。性返回所有被選中的項(xiàng)中索引值最小的項(xiàng)的索引值。SelectedI
51、tem屬性屬性 該屬性返回被選中的項(xiàng);如果該屬性返回被選中的項(xiàng);如果ListBox控件允許選擇多項(xiàng),則該屬控件允許選擇多項(xiàng),則該屬性返回所有被選中的項(xiàng)中索引值最小的項(xiàng)。性返回所有被選中的項(xiàng)中索引值最小的項(xiàng)。SelectedItemsi屬性屬性該屬性返回所有被選中的項(xiàng)中索引值為該屬性返回所有被選中的項(xiàng)中索引值為i的項(xiàng)。的項(xiàng)。Itemsi屬性屬性 該屬性返回索引值為該屬性返回索引值為i的項(xiàng)。的項(xiàng)。C#程序設(shè)計(jì)教程蒙祖強(qiáng)編著6.3.3 列表類控件列表類控件6.3 常用的控件SelectedIndices.Count屬性屬性 該屬性返回所有被選中的項(xiàng)的總數(shù)。該屬性返回所有被選中的項(xiàng)的總數(shù)。例如,利用下
52、列語(yǔ)句可以將例如,利用下列語(yǔ)句可以將listBox1控件中所有被選中的項(xiàng)復(fù)制到控件中所有被選中的項(xiàng)復(fù)制到listBox2控件中:控件中:for (int i = 0; i listBox1.SelectedIndices.Count; i+) listBox2.Items.Add(listBox1.SelectedItemsi.ToString();C#程序設(shè)計(jì)教程蒙祖強(qiáng)編著6.3.3 列表類控件列表類控件6.3 常用的控件(2)重要方法)重要方法Items.Add()方法方法該方法用于一個(gè)字符串添加到該方法用于一個(gè)字符串添加到ListBox控件中。例如:控件中。例如:listBox1.Ite
53、ms.Add(中國(guó)中國(guó));SetSelected()方法方法該方法用于將指定的項(xiàng)設(shè)置為選中狀態(tài)或?yàn)槲幢贿x中狀態(tài)。例如:該方法用于將指定的項(xiàng)設(shè)置為選中狀態(tài)或?yàn)槲幢贿x中狀態(tài)。例如: listBox1.SetSelected(1, true); /將索引號(hào)為將索引號(hào)為1的項(xiàng)設(shè)置為選中狀的項(xiàng)設(shè)置為選中狀態(tài)態(tài) listBox1.SetSelected(3, false); /將索引號(hào)為將索引號(hào)為3的項(xiàng)設(shè)置為未被選的項(xiàng)設(shè)置為未被選中狀態(tài)中狀態(tài)C#程序設(shè)計(jì)教程蒙祖強(qiáng)編著6.3.3 列表類控件列表類控件6.3 常用的控件IndexFromPoint()方法方法利用該方法可以獲取利用該方法可以獲取ListBox
54、控件中鼠標(biāo)所指向的項(xiàng)的索引號(hào),從控件中鼠標(biāo)所指向的項(xiàng)的索引號(hào),從而可以方便地讀取而可以方便地讀取ListBox控件中的任意一項(xiàng)。該方法通常是在有控件中的任意一項(xiàng)。該方法通常是在有關(guān)鼠標(biāo)事件處理函數(shù)中調(diào)用,如:關(guān)鼠標(biāo)事件處理函數(shù)中調(diào)用,如: private void listBox1_MouseDown(object sender, MouseEventArgs e) int index = listBox1.IndexFromPoint(e.X, e.Y); /獲取索引獲取索引 /其他處理代碼其他處理代碼C#程序設(shè)計(jì)教程蒙祖強(qiáng)編著6.3.3 列表類控件列表類控件6.3 常用的控件Items.R
55、emoveAt()方法方法該方法根據(jù)給定的索引號(hào)從該方法根據(jù)給定的索引號(hào)從ListBox控件中刪除相應(yīng)的項(xiàng)。例如,控件中刪除相應(yīng)的項(xiàng)。例如,下面語(yǔ)句是將索引為下面語(yǔ)句是將索引為2的項(xiàng)從的項(xiàng)從listBox1控件中刪除:控件中刪除:listBox1.Items.RemoveAt(2);Clear()方法方法該方法用于清空該方法用于清空ListBox控件中的內(nèi)容??丶械膬?nèi)容。ClearSelected()方法方法該方法用于清空被選擇的項(xiàng),使得所有項(xiàng)都變?yōu)槲幢贿x中的狀態(tài)。該方法用于清空被選擇的項(xiàng),使得所有項(xiàng)都變?yōu)槲幢贿x中的狀態(tài)。C#程序設(shè)計(jì)教程蒙祖強(qiáng)編著6.3.3 列表類控件列表類控件6.3 常用
56、的控件(3)重要事件)重要事件SelectedIndexChanged事件事件當(dāng)焦點(diǎn)在當(dāng)焦點(diǎn)在ListBox控件中的項(xiàng)之間發(fā)生變動(dòng)或點(diǎn)擊控件中的項(xiàng)之間發(fā)生變動(dòng)或點(diǎn)擊ListBox控件時(shí)控件時(shí)都會(huì)觸發(fā)該事件。相應(yīng)的處理函數(shù)如下:都會(huì)觸發(fā)該事件。相應(yīng)的處理函數(shù)如下:private void listBox1_SelectedIndexChanged(object sender, EventArgs e) /事件處理代碼事件處理代碼C#程序設(shè)計(jì)教程蒙祖強(qiáng)編著6.3.3 列表類控件列表類控件6.3 常用的控件2 CheckedListBox控件控件 CheckedListBox控件和控件和ListBo
57、x控件的用法基本相同,不同的控件的用法基本相同,不同的是,前者的每項(xiàng)旁邊增加了一個(gè)復(fù)選框,表示該項(xiàng)是否被選中。是,前者的每項(xiàng)旁邊增加了一個(gè)復(fù)選框,表示該項(xiàng)是否被選中。因此,因此,CheckedListBox控件增加了一些支持訪問這種復(fù)選框的屬控件增加了一些支持訪問這種復(fù)選框的屬性等。例如,性等。例如,CheckedListBox控件的控件的CheckedItems.Count屬性值屬性值表示一共被選中的復(fù)選框的個(gè)數(shù),表示一共被選中的復(fù)選框的個(gè)數(shù),CheckedItemsi屬性則返回索屬性則返回索引為引為i的在復(fù)選框中被選中的項(xiàng)。的在復(fù)選框中被選中的項(xiàng)。C#程序設(shè)計(jì)教程蒙祖強(qiáng)編著6.3.3 列表
58、類控件列表類控件6.3 常用的控件3 ComboBox控件(組合框)控件(組合框) ComboBox控件和控件和ListBox控件也比較相似,不同的是,前者控件也比較相似,不同的是,前者是將其包含的項(xiàng)是將其包含的項(xiàng)“隱藏隱藏”起來(lái)(后者是全部顯示),通過點(diǎn)擊下起來(lái)(后者是全部顯示),通過點(diǎn)擊下拉按鈕來(lái)選擇所需的項(xiàng)(只能選一項(xiàng)),被選中的項(xiàng)將在文本框拉按鈕來(lái)選擇所需的項(xiàng)(只能選一項(xiàng)),被選中的項(xiàng)將在文本框中顯示出來(lái)中顯示出來(lái) C#程序設(shè)計(jì)教程蒙祖強(qiáng)編著6.3.3 列表類控件列表類控件6.3 常用的控件4 ListView控件控件(1)重要屬性)重要屬性Items.Count屬性和屬性和Selec
59、tedItems.Count屬性屬性屬性屬性Items.Count返回返回ListView控件所包含的項(xiàng)的總數(shù);屬性控件所包含的項(xiàng)的總數(shù);屬性SelectedItems.Count則返回則返回ListView控件中已被選中的項(xiàng)的個(gè)數(shù)??丶幸驯贿x中的項(xiàng)的個(gè)數(shù)。Itemsi屬性屬性該屬性返回該屬性返回ListView控件中索引為控件中索引為i的項(xiàng),如果要返回項(xiàng)的標(biāo)題,的項(xiàng),如果要返回項(xiàng)的標(biāo)題,則用則用Itemsi.Text屬性。屬性。例如,如果要訪問例如,如果要訪問ListView控件中所有的項(xiàng),則可以用下列代碼控件中所有的項(xiàng),則可以用下列代碼實(shí)現(xiàn):實(shí)現(xiàn):for (int i = 0; i li
60、stView1.Items.Count; i+) string s = listView1.Itemsi.Text;C#程序設(shè)計(jì)教程蒙祖強(qiáng)編著6.3.3 列表類控件列表類控件6.3 常用的控件SelectedItemsi屬性屬性該屬性返回在被選中的項(xiàng)中索引為該屬性返回在被選中的項(xiàng)中索引為i的項(xiàng)。它一般與的項(xiàng)。它一般與SelectedItems.Count屬性搭配使用。屬性搭配使用。例如,下列代碼的作用是在例如,下列代碼的作用是在ListBox1控件中列出控件中列出listView1控件中控件中所有已被選中的項(xiàng)(的所有已被選中的項(xiàng)(的Text值)值)for (int i = 0; i listV
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 修橋合同范本
- 2025年安徽道路運(yùn)輸從業(yè)資格證考試內(nèi)容是什么
- 包工料水電裝修合同范本
- 公司退休返聘合同范例
- 醫(yī)院人事勞務(wù)合同范本
- 全套合同范本目錄
- 傭金合同范本道客
- 全職抖音主播合同范本
- 農(nóng)村改水電合同范本
- 出租生態(tài)大棚合同范本
- M系列警報(bào)明細(xì)表復(fù)習(xí)課程
- 《子宮脫垂護(hù)理查房》
- 施工隊(duì)結(jié)算單
- 關(guān)于對(duì)項(xiàng)目管理的獎(jiǎng)懲制度
- A320主起落架收放原理分析及運(yùn)動(dòng)仿真
- 植筋施工方案(二標(biāo))
- 神經(jīng)外科疾病健康宣教
- 2. SHT 3543-2017施工過程文件表格
- 分部分項(xiàng)工程項(xiàng)目清單
- 跌倒護(hù)理不良事件案列分析 - 腎內(nèi)科
- 電纜防火分析及措施
評(píng)論
0/150
提交評(píng)論