版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第8章可視化應(yīng)用程序設(shè)計(jì)第8章1內(nèi)容提要:可視化應(yīng)用程序的含義Windows窗體的基本屬性控件的概念、共有的屬性、事件和方法常用的控件目的要求:理解屬性和事件的意義
掌握控件共有的屬性、事件和方法掌握常用控件的用法重點(diǎn)難點(diǎn):常用控件及控件的屬性、事件和方法內(nèi)容提要:28.1Windows窗體
Windows應(yīng)用程序設(shè)計(jì)是作為圖形用戶界面(GUI)設(shè)計(jì)的。用戶通過一些簡(jiǎn)單的操作(如鼠標(biāo)的點(diǎn)擊)來引發(fā)一些事件。
Windows應(yīng)用程序的界面是以窗體(Form)為基礎(chǔ)的,窗體是Windows應(yīng)用程序的基本單位,是一小塊屏幕區(qū)域,主要用來向用戶展示信息和接受用戶的輸入。8.1Wi3標(biāo)題控制按鈕窗體區(qū)窗體邊界標(biāo)題控制按鈕窗體區(qū)窗體邊界48.1.1Windows窗體的基本屬性
1.窗體的名稱屬性(Name)設(shè)置窗體名稱的屬性是Name,該屬性值主要用于在程序代碼中引用窗體。在初始新建一個(gè)Windows應(yīng)用程序項(xiàng)目時(shí),自動(dòng)創(chuàng)建一個(gè)窗體,該窗體的名稱被默認(rèn)為Form1;添加第2個(gè)窗體,其名稱被默認(rèn)為Form2,依次類推。2.窗體的標(biāo)題屬性(Text)Text屬性用于設(shè)置窗體標(biāo)題欄顯示的內(nèi)容,它的值是一個(gè)字符串。
8.1.1Windows窗體的基本屬性5窗體的控制按鈕屬性
(1)ControlBox屬性:用來設(shè)置窗體上是否有控制按鈕,默認(rèn)為True,有控制按鈕,F(xiàn)alse,無控制按鈕。
(2)MaximizeBox屬性:用于設(shè)置窗體上的最大化按鈕,默認(rèn)為True,有最大化按鈕,F(xiàn)alse,無最大化按鈕。
(3)MinimizeBox屬性:用于設(shè)置窗體上的最小化按鈕,默認(rèn)為True,有最小化按鈕,F(xiàn)alse,無最小化按鈕。
窗體的控制按鈕屬性6可視化應(yīng)用程序設(shè)計(jì)課件74.影響窗體外觀的屬性
(1)FormBorderStyle屬性:用于控制窗體邊界的類型,有7個(gè)可選值
。
None、Fixed3D(3D邊框)、FixedDialog、FixedSingle(單線邊框)、Sizable(雙線邊框)、FixedToolWindow、SizableToolWindow(2)Size屬性:用來設(shè)置窗體的大小。
(3)Location屬性:設(shè)置窗體在屏幕上的位置,即設(shè)置窗體左上角的坐標(biāo)值。
4.影響窗體外觀的屬性8可視化應(yīng)用程序設(shè)計(jì)課件9(4)BackColor屬性:用于設(shè)置窗體的背景顏色,可以從彈出的調(diào)色板中選擇。(5)BackgroundImage屬性:用于設(shè)置窗體的背景圖像。(6)Opacity屬性:該屬性用來設(shè)置窗體的透明度,其值為100%時(shí),窗體完全不透明;其值為0%時(shí),窗體完全透明。
(4)BackColor屬性:用于設(shè)置窗體的背景顏10可視化應(yīng)用程序設(shè)計(jì)課件118.1.2創(chuàng)建窗體編寫一個(gè)簡(jiǎn)單的Windows窗體的步驟:1.設(shè)計(jì)應(yīng)用程序窗體(1)創(chuàng)建空白窗體(2)設(shè)置窗體屬性
2.向窗體添加控件
3.為控件添加事件
8.1.2創(chuàng)建窗體12VC#提供了多窗體處理能力,在一個(gè)項(xiàng)目中可創(chuàng)建多個(gè)窗體,添加新窗體的方法:(1)選擇項(xiàng)目菜單下的“添加Windows窗體”命令,打開“添加新項(xiàng)”對(duì)話框,如圖所示。新建項(xiàng)目:使用WindowsFormsApplication(2)在“Project”菜單下的,選擇“AddWindowsForm",然后,單擊“Add"按鈕,就添加了一個(gè)新Windows窗體。添加第2個(gè)窗體的默認(rèn)名稱為Form2,依此類推。
VC#提供了多窗體處理能力,在一個(gè)項(xiàng)目中可創(chuàng)建多個(gè)窗體,添加13可視化應(yīng)用程序設(shè)計(jì)課件14可視化應(yīng)用程序設(shè)計(jì)課件15可視化應(yīng)用程序設(shè)計(jì)課件16
8.2控件概述
窗體就好像一個(gè)容器,其他界面元素都可以放置在窗體中。控件是包含在窗體上的對(duì)象,是構(gòu)成用戶界面的基本元素,工具箱中包含了建立應(yīng)用程序的各種控件,常用的Windows窗體控件放在“Windows窗體”選項(xiàng)卡下。
工具箱分為:數(shù)據(jù)、組件、Windows窗體、剪貼板循環(huán),常規(guī)。常用的Windows控件放在Windows窗體選項(xiàng)卡下,有十個(gè)常用控件。C#提供控件可擴(kuò)展功能,可以自己建立控件,也可以網(wǎng)上下載或購(gòu)買公司開發(fā)的控件。點(diǎn)擊視圖(View)菜單,選擇Toolbox,打開工具箱,或點(diǎn)擊工具欄上的。8.2178.2.1控件的基本屬性
(1)Name屬性:不區(qū)分大小寫,字母開頭,其后可以使數(shù)字、字母、下劃線。(2)Text屬性:如命令、標(biāo)簽、文本框。(3)尺寸大小(Size)和位置(Location)屬性(4)字體(Font)屬性(5)顏色(BackColor、ForeColor)屬性(6)可見(Visable)和有效(Enabled)屬性8.2.1控件的基本屬性188.2.2控件共有的屬性、事件和方法
在C#,所有控件及類都是繼承System.Object類的,它是所有控件與類的基類。System.Object類當(dāng)一個(gè)類沒有規(guī)定基類時(shí),編譯器會(huì)默認(rèn)把System.Object類定義其基類,并且所有的派生類都可以利用或覆蓋System.Object類中的函數(shù)。8.2.2控件共有的屬性、事件和方法19System.Object類的方法:(1)ToString方法:可以覆蓋ToString方法。系統(tǒng)為用戶提供了一個(gè)對(duì)象所屬類的最好描述,否則將只會(huì)顯示出對(duì)象所屬類的名稱。(2)Equals方法:Equals方法判斷兩個(gè)對(duì)象是否擁有同樣的類型和內(nèi)容。它經(jīng)常應(yīng)用在數(shù)組和集合中,用于判斷是否是同一對(duì)象。(3)GetHashCode方法:.NETFramework提供了一個(gè)散列表(Hashtable)類,它能夠通過一個(gè)代碼快速地查找某個(gè)對(duì)象。
System.Object類的方法:202.Control類所有的窗體控件都派生自System.Windows.Forms.Control類。Control類作為各種窗體控件的基類,Control類實(shí)現(xiàn)了所有窗體交互控件的基本功能:處理用戶鍵盤輸入、處理消息驅(qū)動(dòng)、限制控件大小等。
Control類的屬性、方法與事件是所有窗體控件所公有的。
2.Control類21(1)Control類的屬性
Text屬性Text屬性是與控件對(duì)象實(shí)例關(guān)聯(lián)的一段文本,是給用戶看的或讓用戶輸入的。在程序中可以直接訪問Text屬性,取得或設(shè)置Text的值。Anchor屬性Anchor屬性是用來確定此控件與其容器控件(控件中還有控件)的位置、大小變化的關(guān)系。對(duì)于Anchor屬性,可以設(shè)定Top、Bottom、Right、Left中的任意幾種。
(1)Control類的屬性22Dock屬性Dock屬性規(guī)定了子控件與父控件的邊緣依賴關(guān)系(即??康礁缚丶哪男┻叄?。Dock的值有6種:None、Top、Left、Fill、Right、Left。Capture屬性Capture屬性如果設(shè)為真,則鼠標(biāo)就會(huì)被限定只由此控件響應(yīng),不管鼠標(biāo)是否在此控件的范圍內(nèi)。Dock屬性23(2)Control類的方法Control類中的方法:可以調(diào)用Control類的方法來獲得控件的一些信息,或者設(shè)置控件的屬性值及行為狀態(tài)。例如:Focus方法可設(shè)置此控件獲得的焦點(diǎn);Select方法可激活控件;Show方法可顯示控件;Hide方法可隱藏控件等。
(2)Control類的方法24(3)Control類的事件
當(dāng)用戶進(jìn)行某一項(xiàng)操作時(shí),會(huì)引發(fā)某個(gè)事件的發(fā)生,此時(shí)就會(huì)調(diào)用預(yù)先編寫的事件處理程序代碼,實(shí)現(xiàn)對(duì)程序的控制。Control類的可響應(yīng)的事件有:?jiǎn)螕魰r(shí)發(fā)生的Click事件;光標(biāo)改變時(shí)發(fā)生的Cursorchanged事件;雙擊時(shí)發(fā)生的DoubleClick事件;拖動(dòng)時(shí)發(fā)生的DragDrop事件;鼠標(biāo)移動(dòng)時(shí)發(fā)生的MouseMove事件等。
(3)Control類的事件25
8.3命令按鈕控件(Button)
命令按鈕的用途命令按鈕是用戶與應(yīng)用程序交互的最簡(jiǎn)便的工具,應(yīng)用十分廣泛。在程序執(zhí)行期間,它可以用于接收用戶的操作信息,去執(zhí)行預(yù)先規(guī)定的命令,觸發(fā)相應(yīng)的事件過程,以實(shí)現(xiàn)指定的功能。8.3命令按鈕控件(Button)262.常用屬性
(1)Text屬性:該屬性用于設(shè)定命令按鈕上顯示的文本
(2)FlatStyle屬性:該屬性指定了命令按鈕的外觀風(fēng)格,它有4個(gè)可選值。Flat、Popup(平面,鼠標(biāo)移到上面,變立體)、System、Standard(立體)(3)Image屬性:用于設(shè)定在命令按鈕上顯示的圖形。
(4)ImageAlign屬性:當(dāng)圖片顯示在命令按鈕上時(shí),可以通過ImageAlign屬性調(diào)節(jié)其在命令按鈕上的位置。利用此屬性在屬性窗口中調(diào)節(jié)非常方便。
2.常用屬性
27可視化應(yīng)用程序設(shè)計(jì)課件283.命令按鈕響應(yīng)的事件如果按鈕具有焦點(diǎn),就可以使用鼠標(biāo)左鍵、Enter鍵或空格鍵觸發(fā)該按鈕的Click事件。通過設(shè)置窗體的AcceptButton或CancelButton屬性,無論該按鈕是否有焦點(diǎn),都可以使用戶通過按Enter或Esc鍵來觸發(fā)按鈕的Click事件。當(dāng)使用ShowDialog方法顯示窗體時(shí),可以使用按鈕的DialogResult屬性指定ShowDialog的返回值。3.命令按鈕響應(yīng)的事件298.4標(biāo)簽控件(Label)標(biāo)簽控件的用途標(biāo)簽主要用來顯示文本。通常用標(biāo)簽來為其他控件顯示說明信息、窗體的提示信息,或者用來顯示處理結(jié)果等信息。但是,標(biāo)簽顯示的文本不能被直接編輯。8.4標(biāo)簽控件(Label)標(biāo)簽控件的用途302.標(biāo)簽的常用屬性(1)Text屬性:用于設(shè)置標(biāo)簽顯示的內(nèi)容,Text屬性可包含許多個(gè)字符。(2)Autosize屬性:該屬性用于設(shè)置標(biāo)簽是否自動(dòng)調(diào)整尺寸,以適應(yīng)其顯示的內(nèi)容。此屬性的系統(tǒng)默認(rèn)值為False。(3)Borderstyle屬性:該屬性用于設(shè)定標(biāo)簽的邊框形式,共有3個(gè)設(shè)定值。NoneFixedSingleFixed3D3.標(biāo)3.標(biāo)簽相應(yīng)的事件標(biāo)簽控件常用的事件有:Click(單擊鼠標(biāo))事件和DoubleClick(雙擊鼠標(biāo))事件。2.標(biāo)簽的常用屬性318.5文本框(TextBox)
1.文本框的用途文本框有兩種用途:一是可以用來輸出或顯示文本信息;二是可以接受從鍵盤輸入的信息。應(yīng)用程序在運(yùn)行時(shí),如果用鼠標(biāo)單擊文本框,則光標(biāo)在文本框中閃爍,就可以向文本框輸入信息。2.常用屬性(1)Text屬性:應(yīng)用程序運(yùn)行時(shí),在文本框中顯示的輸出信息或通過鍵盤輸入的信息,都保存在Text屬性中。(2)MaxLength屬性:該屬性用于設(shè)定文本框中最多可容納的字符數(shù)。(3)MultiLine屬性:該屬性用于設(shè)定文本框中是否允許顯示和輸入多行文本。8.5文本框(TextBox)1.文32(4)ReadOnly屬性:該屬性用于設(shè)定程序運(yùn)行時(shí),能否對(duì)文本框中的文本進(jìn)行編輯。(5)ScrollBars屬性:該屬性用于設(shè)置文本框中是否帶有滾動(dòng)條,有4個(gè)可選值。NoneHorizontalVerticalBoth(6)PasswordChar屬性:該屬性用于設(shè)置顯示文本框中的替代符。
3.本框控件響應(yīng)的事件在文本框控件所能響應(yīng)的事件中,TextChanged和LostFocus是最重要的事件。(4)ReadOnly屬性:該屬性用于設(shè)定程序運(yùn)行時(shí),33可視化應(yīng)用程序設(shè)計(jì)課件348.6單選按鈕(RadioButton)和復(fù)選框(CheckBox)
單選按鈕(RadioButton):控件為用戶提供一組互斥選項(xiàng)組成的選項(xiàng)集,只能選擇一個(gè)按鈕。選中時(shí),圓圈中有一個(gè)黑點(diǎn)。
屬性:1)Text屬性:為單選按鈕旁的說明文字。2)Checked屬性:Checked為True,表示選中,F(xiàn)alse表示沒選中。當(dāng)Checked屬性的值更改時(shí),將引發(fā)CheckedChanged事件。
事件:1)Click事件:鼠標(biāo)點(diǎn)擊復(fù)選框時(shí),觸發(fā)Click事件,并改變Checked的值。2)CheckedChanged事件:Checked值改變時(shí),觸發(fā)該事件。8.6單選按鈕(RadioButton)和復(fù)選框(Chec35
privatevoidradioButton1_CheckedChanged(objectsender,EventArgse){textBox1.Text="200元";}privatevoidradioButton2_CheckedChanged(objectsender,EventArgse){textBox1.Text="100元";}privatevoidradioButton3_CheckedChanged(objectsender,EventArgse){textBox1.Text="150元";}privatevoidradioButton1_Che36可視化應(yīng)用程序設(shè)計(jì)課件37復(fù)選框(CheckBox)在一組復(fù)選框中則可以同時(shí)選擇任意多項(xiàng)。選中時(shí),方塊內(nèi)出現(xiàn)打鉤標(biāo)記。
屬性:1)Checked屬性:返回兩個(gè)值true(選中)和false(未選中)。2)CheckState屬性:用來描述當(dāng)前狀態(tài),該屬性的值可以是:(1)Checked:當(dāng)前被選中。(2)UnChecked:當(dāng)前被選中。(3)Indeterminate:當(dāng)前狀態(tài)未定,呈變灰。3)Text屬性:復(fù)選框旁的說明文字。
復(fù)選框(CheckBox)38
事件:1)Click事件:鼠標(biāo)點(diǎn)擊復(fù)選框時(shí),觸發(fā)Click事件。2)CheckedChanged事件:Checked值改變時(shí),觸發(fā)該事件。3)CheckStateChanged事件:CheckedState值改變時(shí),觸發(fā)該事件。應(yīng)用程序中不使用Click事件,常使用CheckedChanged事件和CheckStateChanged事件。事件:39
Singlesum=0;privatevoidcheckBox1_CheckedChanged(objectsender,EventArgse){}privatevoidcheckBox2_CheckedChanged(objectsender,EventArgse){}privatevoidcheckBox3_CheckedChanged(objectsender,EventArgse){}privatevoidcheckBox4_CheckedChanged(objectsender,EventArgse){}
Singlesum=0;40
privatevoidbutton1_Click(objectsender,EventArgse){if(checkBox1.Checked==true){sum=sum+Convert.ToSingle(label3.Text);}if(checkBox2.Checked==true){sum=sum+Convert.ToSingle(label4.Text);}if(checkBox3.Checked==true){sum=sum+Convert.ToSingle(label5.Text);}if(checkBox4.Checked==true){sum=sum+Convert.ToSingle(label6.Text);}textBox1.Text=sum.ToString();}privatevoidbutton1_Cl41可視化應(yīng)用程序設(shè)計(jì)課件428.7面板控件和分組框控件
Panel控件和GroupBox控件是一種容器控件,可以容納其他控件,同時(shí)給控件分組,一般用于將窗體上的控件根據(jù)其功能進(jìn)行分類,以利于進(jìn)行管理。放在Panel控件或GroupBox控件內(nèi)的所有對(duì)象將隨著容器的控件一起移動(dòng)、顯示、消失和屏蔽。8.7面板控件和分組框控件43
Panel控件和GroupBox控件的使用方法:(1)在"工具箱"中選擇Panel控件或GroupBox控件,將其添加到窗體上。(2)在"工具箱"中選擇其他控件放在Panel控件或GroupBox控件內(nèi)。(3)重復(fù)步驟(2),添加所需的其他控件。如果欲將已在窗體上存在的控件,加入到一個(gè)Panel控件或GroupBox控件內(nèi),可以先選擇這些控件,然后剪貼到Panel控件或GroupBox控件中去??梢暬瘧?yīng)用程序設(shè)計(jì)課件44Panel常用屬性:1)BorderStyle屬性:(1)None:無邊框;(2)Fixed3D:立體邊框;(3)FixedSingle:簡(jiǎn)單邊框。2)AutoScroll屬性:為True,加滾動(dòng)條,為False,不加滾動(dòng)條。GroupBox常用屬性:1)Text屬性:邊框上顯示的標(biāo)題。Panel常用屬性:45
下面的窗體中,上面的是GroupBox控件,包含了兩個(gè)命令按鈕控件;下面的是Panel控件,也包含了兩個(gè)命令按鈕控件。下面的窗體中,上面的是GroupBox控件,包46privatevoidbutton1_Click(objectsender,System.EventArgse){if(this.radioButton1.Checked==true)textBox1.Font=newFont("宋體",textBox1.Font.Size);if(this.radioButton2.Checked==true)this.textBox1.Font=newFont(“黑體",this.textBox1.Font.Size);if(this.radioButton3.Checked==true)this.textBox1.Font=newFont(“楷體_GB2312",this.textBox1.Font.Size);if(this.radioButton4.Checked==true)this.textBox1.ForeColor=Color.Red;if(this.radioButton5.Checked==true)this.textBox1.ForeColor=Color.Blue;if(this.radioButton6.Checked==true)this.textBox1.ForeColor=Color.Green;privatevoidbutton1_Click(obj47if(this.radioButton7.Checked==true)this.textBox1.Font=newFont(this.textBox1.Font.FontFamily,12);if(this.radioButton8.Checked==true)this.textBox1.Font=newFont(this.textBox1.Font.FontFamily,16);if(this.radioButton9.Checked==true)this.textBox1.Font=newFont(this.textBox1.Font.FontFamily,18);}privatevoidbutton2_Click(objectsender,System.EventArgse){this.Close();}if(this.radioButton7.Checked==48
單選按鈕控件經(jīng)常與Panel控件或GroupBox控件一起使用。下面的窗體中使用了三個(gè)GroupBox控件,每個(gè)GroupBox都包含了三個(gè)單選按鈕。單選按鈕控件經(jīng)常與Panel控件或Grou498.8圖形框控件
PictureBox控件是專門用于顯示圖片的控件,可用于顯示位圖、圖標(biāo)、圖元文件或GIF、JPEG格式的圖形文件。同時(shí),PictureBox控件也是一個(gè)容器分組控件,可以在其上面放置多個(gè)其他控件。1)位圖(Bitmap),擴(kuò)展名是:.bmp,.bid。可以使用2,4,6,8,16,24等多種顏色深度。2)圖標(biāo)(Icon),圖標(biāo)尺寸:32×32像素,16×16像素,擴(kuò)展名是:.ico。3)圖元文件(Metafile),擴(kuò)展名是:.wmf,.emf。4)GIF,JPEG格式文件,擴(kuò)展名是:.gif,.jpeg,.jpg。
8.8圖形框控件50PictureBox常用屬性:1)Image屬性:在Image屬性中選擇圖片的來源和類型,就完成把圖片置于控件上的操作了。2)SizeMode屬性:調(diào)整控件及圖片的大小及位置。(1)Normal:指定圖片位于控件的左上角,圖片比控件大,截去超出部分。(2)StretchImage:指定圖片適應(yīng)控件的大小。(3)Autosize:指定控件根據(jù)圖片大小調(diào)整。(4)CenterImage:指定圖片居中。PictureBox常用屬性:51
下面這個(gè)窗體中,上半部分是是PictureBox控件,下半部分是一個(gè)Button控件。另外在工具箱,找到對(duì)話框控件:OpenFileDialog,添加到項(xiàng)目中,OpenFileDialog是不可見控件,在Form窗體外,其下部的位置。其中按鈕控件的單擊事件代碼為:privatevoidbutton1_Click_1(objectsender,EventArgse){this.openFileDialog1.Filter=“圖片文件*.bmp|*.bmp”;if(this.openFileDialog1.ShowDialog()==DialogResult.OK){Bitmapp1=newBitmap(this.openFileDialog1.FileName); this.pictureBox1.Image=p1;}}privatevoidpictureBox1_Click(objectsender,EventArgse){}下面這個(gè)窗體中,上半部分是是PictureBox52
538.9.1列表框(ListBox)控件
列表框控件提供一個(gè)項(xiàng)目列表,用戶可以從中選擇一項(xiàng)或多項(xiàng)。在列表框內(nèi)的項(xiàng)目稱為列表項(xiàng),列表項(xiàng)的加入是按一定的順序進(jìn)行的,這個(gè)順序號(hào)稱為索引號(hào)。列表框內(nèi)列表項(xiàng)的索引號(hào)是從0開始的。
8.9列表框、帶復(fù)選框的列表框和組合框控件8.9.1列表框(ListBox)控件8.9列表框54列表框的屬性:
1)Items屬性:預(yù)設(shè)列表框的列表項(xiàng)。2)Multicolum屬性:設(shè)定列表框是否顯示多列,默認(rèn)為False,只顯示1列;3)SelectionMode屬性:設(shè)定列表框選擇模式,有4種:(1)None:不允許進(jìn)行選擇;(2)One:只允許選擇1項(xiàng);(3)MultiSimple:可以選擇多項(xiàng);(4)MultiExtended:可以Shift和Ctrl鍵選擇多項(xiàng);4)SelectedItem屬性:獲取當(dāng)前選定的列表項(xiàng)。5)SelectedIndex屬性:選定列表項(xiàng)的索引號(hào),未選中,值為-1,選中的第一項(xiàng),值為0。列表框的屬性:55列表框響應(yīng)的事件:
常用Click,DoubleClick,GotFocus,LostFocus等。還可響應(yīng)SelectIndexChanged事件,當(dāng)用戶改變列表中的選擇時(shí),會(huì)觸發(fā)此事件。列表框常用的方法:1)Items.Add方法:把一個(gè)列表項(xiàng)加入列表框底部。格式:Listname.Items.Add(Item)2)Items.Insert方法:把一個(gè)列表項(xiàng)插入到列表框的指定位置。格式:Listname.Items.Insert(Index,列表)列表框響應(yīng)的事件:563)Items.Remove:刪除指定的列表項(xiàng)格式:Listname.Items.Remove(Item)4)或Items.Clear方法:刪除全部的列表項(xiàng)。
格式:Listname.Items.Clear()
3)Items.Remove:刪除指定的列表項(xiàng)578.9.2帶復(fù)選框的列表框控件(CheckedListBox)
如果需要設(shè)置多個(gè)CheckBox,可以使用CheckListBox控件,設(shè)置其Items屬性,將各個(gè)選項(xiàng)加入CheckBox集合中,建立復(fù)選框組。操作步驟:(1)先在窗體中添入CheckedListBox控件。(2)在屬性窗口選擇Items屬性。(3)單擊Items屬性左邊的"…"按鈕,打開"字符串集合編輯器(StringCollectionEditor)對(duì)話框
(4)在對(duì)話框中輸入各個(gè)復(fù)選框選項(xiàng),每個(gè)選項(xiàng)以回車鍵換行。
8.9.2帶復(fù)選框的列表框控件(CheckedListB58繼承的屬性和方法:CheckedListBox類是繼承了ListBox類而得來的,CheckedListBox的大部分屬性、事件和方法都來自ListBox類。如Items屬性、SelectedItem屬性、SelectedIndex屬性,Items.Add方法和Items.Remove方法等。特有的屬性和方法:
1)CheckedOnClick屬性:該屬性為True時(shí),單擊一列表項(xiàng)可以選擇它。單擊列表項(xiàng)改變了焦點(diǎn),再次單擊時(shí),才選中列表項(xiàng)。2)TreeDCheckBoxes屬性:該屬性為True時(shí),前面的復(fù)選框立體顯示,否則平面顯示。繼承的屬性和方法:593)GetItemCheckState方法:取得指定列表項(xiàng)的狀態(tài),該方法有一個(gè)整型參數(shù);4)SetItemCheckState方法:設(shè)定指定列表項(xiàng)的狀態(tài),該方法有兩個(gè)參數(shù),第一個(gè)參數(shù)為整型參數(shù),指定哪一個(gè)列表項(xiàng),第二個(gè)參數(shù)有三個(gè)可選值:(1)CheckState.Checked:選中;(2)CheckState.UnChecked:未選中;(3)CheckState.Indeterminate:不確定狀態(tài);3)GetItemCheckState方法:取得指定列表項(xiàng)的60privatevoidcheckedListBox1_SelectedIndexChanged(objectsender,EventArgse){inti;intsum=0;for(i=0;i<checkedListBox1.Items.Count;i++){if(checkedListBox1.GetItemChecked(i)){sum=sum+1;}}textBox1.Text=sum.ToString();}privatevoidcheckedListBox1_S61可視化應(yīng)用程序設(shè)計(jì)課件62
組合框是一個(gè)文本框和一個(gè)列表框的組合。組合框控件用于在下拉組合框中顯示數(shù)據(jù),便于用戶從控件下拉列表框的多個(gè)選項(xiàng)中作出一個(gè)選擇,該選項(xiàng)的內(nèi)容將自動(dòng)裝入文本框中,如果列表框中沒有所需的選項(xiàng)時(shí),允許在文本框中直接輸入信息。利用Items屬性可以添加或者刪除項(xiàng),如果要在程序中添加或刪除項(xiàng),可以使用Items.Add、Items.Insert、Items.Clear或Items.Remove方法。例:boBox1.Items.Add(textBox1.Text);8.9.3組合框控件(Combox)組合框是一個(gè)文本框和一個(gè)列表框的組合。863組合框的常用屬性有:1)DropDownStyle屬性:設(shè)置組合框的樣式,有3種:(1)Simple:文本框可編輯,下拉列表直接顯示出來。(2)DropDownList:文本框不可編輯,必須單擊下拉箭頭來顯示列表項(xiàng)。。(3)DropDown:文本框可編輯,必須單擊下拉箭頭來顯示列表項(xiàng)。2)DropDownWidth屬性:設(shè)置下拉列表的寬度。3)MaxDropDownItems屬性:設(shè)置下拉列表框中最多的列表項(xiàng)個(gè)數(shù)。組合框的常用屬性有:64
privatevoidForm1_Load(objectsender,EventArgse){comboBox1.Items.Add("中國(guó)");comboBox1.Items.Add("美國(guó)");comboBox1.Items.Add("英國(guó)");}privatevoidbutton1_Click(objectsender,EventArgse){comboBox1.Items.Add("法國(guó)");comboBox1.Items.Add("德國(guó)");comboBox1.Items.Add("泰國(guó)");label3.Text=comboBox1.Items.Count.ToString();}privatevoidForm1_Load(objec65
privatevoidbutton2_Click(objectsender,EventArgse){if(comboBox1.SelectedItem!=""){comboBox1.Items.Remove(comboBox1.SelectedItem);label3.Text=comboBox1.Items.Count.ToString();}}privatevoidbutton3_Click(objectsender,EventArgse){comboBox1.Items.Clear();label3.Text=comboBox1.Items.Count.ToString();}privatevoidbutton4_Click(objectsender,EventArgse){this.Close();}privatevoidbutton2_Cl66可視化應(yīng)用程序設(shè)計(jì)課件67該控件用于在應(yīng)用程序或控件中水平或垂直滾動(dòng),以方便地在較長(zhǎng)的項(xiàng)列表或大量信息中轉(zhuǎn)移。分為水平滾動(dòng)條(HScrollBar)和垂直滾動(dòng)條(VScrollBar)。滾動(dòng)條控件使用Scroll事件來監(jiān)視滑塊沿著滾動(dòng)條的移動(dòng)情況。滾動(dòng)條的主要屬性有:
Value屬性:用來設(shè)置滑塊在滾動(dòng)條中所處的位置,其默認(rèn)值為0。
Minimum和Maximum屬性:用來設(shè)置滾動(dòng)條的范圍。
SmallChange屬性:用于控制單擊滾動(dòng)條兩邊的箭頭時(shí),滑塊滾動(dòng)的值。
LargeChange屬性:用于當(dāng)用戶在滑塊的任何一邊單擊滾動(dòng)條軌跡時(shí),滑塊滾動(dòng)的值。8.10滾動(dòng)條控件該控件用于在應(yīng)用程序或控件中水平或垂直滾動(dòng),以68例:Maximum屬性:100;Minimum屬性:0;SmallChang:2;LargeChange:10;Value:50。
privatevoidhScrollBar1_Scroll(objectsender,ScrollEventArgse){textBox1.Text=hScrollBar1.Value.ToString();}例:Maximum屬性:100;Minimum屬性:0;Sm69定時(shí)器控件是按一定時(shí)間間隔周期性地自動(dòng)觸發(fā)定時(shí)器事件(Tick)的控件。定時(shí)器控件只在設(shè)計(jì)時(shí)出現(xiàn)在窗體下面的面板上,運(yùn)行時(shí),定時(shí)器控件不可見,定時(shí)器控件的默認(rèn)名稱為timer1,timer2等。
1.常用屬性
Enabled屬性:設(shè)置定時(shí)器是否運(yùn)行,若為True就每隔InterVal屬性指定的時(shí)間間隔調(diào)用一次Tick事件。
InterVal屬性:由于設(shè)定自動(dòng)調(diào)用定時(shí)器時(shí)件(Tick)的時(shí)間間隔,其值以毫秒為單位。2.Tick事件定時(shí)器控件只響應(yīng)一個(gè)Tick事件。8.11定時(shí)器控件(Timer)定時(shí)器控件是按一定時(shí)間間隔周期性地自動(dòng)觸發(fā)定時(shí)70例:timer1的InterVal屬性:1000;Enable:True;label1的font屬性:三號(hào),加粗。標(biāo)簽顯示系統(tǒng)時(shí)間,每個(gè)1秒,改變一次。privatevoidtimer1_Tick(objectsender,EventArgse){label1.Text=DateTime.Now.ToString();}例:timer1的InterVal屬性:1000;Enabl71
LinkLabel控件可以向Windows窗體應(yīng)用程序添加Web樣式的鏈接,一切可以使用Label控件的地方,都可以使用LinkLabel控件,還可以將文本的一部分設(shè)置為指向某個(gè)對(duì)象或Web頁(yè)的鏈接。LinkLabel控件在文本內(nèi)容下面加上了下劃線。LinkLabel控件常用的屬性:1)ActiveLinkColor屬性:?jiǎn)螕粼摽丶r(shí),標(biāo)簽文本中超鏈接部分的顏色。2)LinkArea屬性:有兩個(gè)值,第一個(gè)值表示該區(qū)域起始字符的位置,第二個(gè)值表示區(qū)域的長(zhǎng)度。3)DisableLinkColor屬性:該控件不用時(shí),標(biāo)簽文本中超鏈接部分的顏色。8.12超鏈接標(biāo)簽控件LinkLabel控件可以向Windows724)LinkColor屬性:設(shè)置未連接過此超鏈接的文本顏色。5)VisitedLinkColor屬性:設(shè)置已連接過此超鏈接的文本顏色。LinkLabel常用的事件:1)LinkClicked事件:此事件過程中,使用System.Diagnostics.Process.Start方法打開指定網(wǎng)頁(yè)。2)MouseMove事件:在LinkLabel控件上移動(dòng)鼠標(biāo)時(shí),發(fā)生的事件。例:在Form1上建立一個(gè)LinkClick控件。privatevoidlinkLabel1_LinkClicked(objectsender,System.Windows.Forms.LinkLabelLinkClickedEventArgse){System.Diagnostics.Process.Start("");}4)LinkColor屬性:設(shè)置未連接過此超鏈接的文本顏色。73可視化應(yīng)用程序設(shè)計(jì)課件748.13對(duì)話框
比較常用的操作,如文件的打開和保存、字體、顏色、打印設(shè)置等都是通過Windeows提供的標(biāo)準(zhǔn)對(duì)話框來實(shí)現(xiàn)的。C#也可以利用這些對(duì)話框?qū)崿F(xiàn)相應(yīng)功能。C#提供的對(duì)話框控件有:Messagebox、OpenFileDialog、SaveFileDialog、ColorDialog、FontDialog、PrintDialog.
對(duì)話框的DialogResult返回值一般表示的是用戶是通過點(diǎn)擊哪個(gè)按鈕來關(guān)閉對(duì)話框的。它的值一般有:Abort、Cancel、Ignore、No、None、OK、Retry、Yes等。
8.13對(duì)話框75
8.13.1消息框MessageBox類通過消息框來提供與用戶之間的簡(jiǎn)單互操作,消息框是對(duì)話框的一種特殊類型。要顯示消息框,應(yīng)調(diào)用靜態(tài)Show方法。
格式:MessageBox.Show(Message[,Caption][,
MessageBoxButtons][,MessageBoxIcon]);
例:MessageBox.Show("密碼錯(cuò)誤");
要想為消息框加上說明或標(biāo)題,就需要向MessageBox.Show傳遞第二個(gè)字符串。例:MessageBox.Show("Hello","Howareyou!");
8.13.1消息框76
除了"確定"按鈕外,還可以為消息框添加其他按鈕,但必須從MessageBoxButtons定義的按鈕組中選擇。例:MessageBox.Show("Howareyou!","Hello",MessageBoxButtons.YesNoCancel);
MessageBoxButtons方法含義AbortRetryIgnore表示"放棄"、"重試"、"忽略"按鈕OK表示"確定"按鈕OKCancel表示"確定"、"取消"按鈕RetryCancel表示"重試"、"取消"按鈕YesNo表示"是"、"否"按鈕除了"確定"按鈕外,還可以為消息框添加其他按77MessageBoxIcon方法圖標(biāo)NoneHandQuestionExClamationAsteriskStopErrorWarningInformationMessageBoxIcon方法圖標(biāo)NoneHandQues78在Form1上添加一個(gè)Button按鈕和一個(gè)TextBox框。
privatevoidbutton1_Click(objectsender,EventArgse){if(textBox1.Text==""){MessageBox.Show("Youmustenteraname.","NameEntryError",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);}else{textBox1.Text="消息框";}}可視化應(yīng)用程序設(shè)計(jì)課件79MessageBoxIconCaptionMessageMessageBoxButtonsMessageBoxIconCaptionMessageMe808.13.2文件的打開和保存對(duì)話框1)打開文件和保存對(duì)話框常用的屬性(1)InitialDirectory:設(shè)置在對(duì)話框中顯示的初始化目錄。(2)Filter:設(shè)定對(duì)話框中過濾文件字符串。(3)FilterIndex:設(shè)定顯示過濾字符串的索引。(4)RestoreDirectory:布爾型,設(shè)定是否重新回到關(guān)閉此對(duì)話框時(shí)的當(dāng)前目錄。(5)FileName:設(shè)定在對(duì)話框中顯示文件名稱。(6)ShowHelp:設(shè)定在對(duì)話框中是否顯示幫助按鈕。(7)Title:設(shè)定對(duì)話框的標(biāo)題。8.13.2文件的打開和保存對(duì)話框811)打開文件和保存對(duì)話框常用的事件(1)FileOK事件:?jiǎn)螕舸蜷_或保存按鈕時(shí),要處理的事件。(2)HelpReuqest事件:?jiǎn)螕魩椭粹o時(shí)要處理的事件。usingSystem.IO;privatevoidbutton1_Click(objectsender,EventArgse){StreammyStream=null;OpenFileDialogopenFileDialog1=newOpenFileDialog();1)打開文件和保存對(duì)話框常用的事件usingSystem.82
openFileDialog1.InitialDirectory="c:\\";openFileDialog1.Filter="txtfiles(*.txt)|*.txt|Allfiles(*.*)|*.*";openFileDialog1.FilterIndex=2;openFileDialog1.RestoreDirectory=true;if(openFileDialog1.ShowDialog()==DialogResult.OK){try{if((myStream=openFileDialog1.OpenFile())!=null){using(myStream)openFileDialog1.Initia83{//Insertcodetoreadthestreamhere.}}}catch(Exceptionex){MessageBox.Show("Error:Couldnotreadfilefromdisk.Originalerror:"+ex.Message);}}}{84可視化應(yīng)用程序設(shè)計(jì)課件858.13.3顏色選擇對(duì)話框顏色對(duì)話框的屬性:1)AllFullOpen屬性:設(shè)定用戶是否使用自定義顏色。2)ShowHelp屬性:設(shè)定對(duì)話框是否顯示幫助按鈕。3)Color屬性:選擇顏色對(duì)話框顏色。8.13.3顏色選擇對(duì)話框86privatevoidbutton1_Click(objectsender,EventArgse){ColorDialogMyDialog=newColorDialog();
//KeepstheuserfromselectingacustomcolorMyDialog.AllowFullOpen=false;
//Allowstheusertogethelp.(Thedefaultisfalse.)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度白酒線上線下聯(lián)合推廣代理合同3篇
- 二零二五版物流項(xiàng)目投資合作協(xié)議-風(fēng)險(xiǎn)控制3篇
- 人才培養(yǎng)模式與核心建設(shè)方案
- 設(shè)備監(jiān)理合同-設(shè)備監(jiān)理合同管理模擬試卷3
- 乳粉行業(yè)競(jìng)爭(zhēng)對(duì)手分析考核試卷
- 體育場(chǎng)館體育設(shè)施安全疏散設(shè)計(jì)考核試卷
- 安徽省肥東縣高級(jí)中學(xué)高三上學(xué)期8月調(diào)研考試語(yǔ)文試卷(含答案)
- 第二十七章腹股溝斜疝的臨床表現(xiàn)61課件講解
- 2025年健身比賽裁判合同
- 2025年嬰童用品代理合作協(xié)議
- 銷售與銷售目標(biāo)管理制度
- 人教版(2025新版)七年級(jí)下冊(cè)英語(yǔ):寒假課內(nèi)預(yù)習(xí)重點(diǎn)知識(shí)默寫練習(xí)
- 2024年食品行業(yè)員工勞動(dòng)合同標(biāo)準(zhǔn)文本
- 全屋整裝售后保修合同模板
- 高中生物學(xué)科學(xué)推理能力測(cè)試
- 2024年公安部直屬事業(yè)單位招聘筆試參考題庫(kù)附帶答案詳解
- 臨沂正祥建材有限公司牛心官莊鐵礦礦山地質(zhì)環(huán)境保護(hù)與土地復(fù)墾方案
- 六年級(jí)上冊(cè)數(shù)學(xué)應(yīng)用題練習(xí)100題及答案
- 死亡報(bào)告年終分析報(bào)告
- 棋牌室禁止賭博警示語(yǔ)
- 公轉(zhuǎn)私人轉(zhuǎn)賬協(xié)議
評(píng)論
0/150
提交評(píng)論