2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩57頁(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、第 7 章 Windows應(yīng)用程序開(kāi)發(fā)初步——常用窗體控件,窗體的屬性和方法 常用的輸入輸出方法 標(biāo)簽控件和超鏈接控件 文本控件、單選按鈕和復(fù)選按鈕 圖片控件和進(jìn)度條控件 選項(xiàng)卡控件和Timer控件 Windows應(yīng)用程序的結(jié)構(gòu)和開(kāi)發(fā)步驟,第 7 章 Windows應(yīng)用程序開(kāi)發(fā)初步——常用窗體控件,窗體的屬性和方法 常用的輸入輸出方法 標(biāo)簽控件和超鏈接控件 文本控件、單選按鈕和復(fù)選按鈕 圖片控件和進(jìn)度條控件 選

2、項(xiàng)卡控件和Timer控件 Windows應(yīng)用程序的結(jié)構(gòu)和開(kāi)發(fā)步驟,7.1 Windows窗體簡(jiǎn)介,Windows應(yīng)用程序是運(yùn)行在Windows系列操作系統(tǒng)的應(yīng)用軟件,具有和Windows操作系統(tǒng)相似的界面,在Visual Studio 2008中利用窗體控件可以快速開(kāi)發(fā)Windows應(yīng)用程序。,7.1.1 Windows窗體應(yīng)用程序,使用Windows窗體,可以創(chuàng)建基于Windows的功能強(qiáng)大的應(yīng)用程序。一個(gè)標(biāo)準(zhǔn)的Windows窗

3、體應(yīng)用程序由窗體、控件及其事件所組成。窗體是Windows應(yīng)用程序的基本組成部分,它提供了定義窗體外觀的屬性、定義行為的方法和定義與用戶交互的事件。下面我們將詳細(xì)介紹窗體的屬性、方法和事件。,7.1.2 窗體的屬性,在程序設(shè)計(jì)階段,可以對(duì)窗體或窗體內(nèi)控件的屬性進(jìn)行屬性值的更改。窗體和控件都有屬于自己本身的屬性,每個(gè)屬性都有默認(rèn)值,窗體和各控件間有些屬性彼此都具有,有些屬性可能是自己所獨(dú)有。例如:Text、Name等屬性很多控件和窗體

4、都擁有這些屬性。屬性值的設(shè)置和修改,在程序設(shè)計(jì)階段有兩種方式:一種是直接在屬性窗口內(nèi)更改屬性值,另一種方式是進(jìn)入編碼窗口編寫(xiě)程序時(shí)修改,在程序運(yùn)行成功運(yùn)行后其值發(fā)生改變。若看不到屬性窗口,可運(yùn)行菜單的【視圖/屬性窗口】便可打開(kāi)屬性窗口。下圖是選中窗體Form1后看到的Form1的屬性窗口。,,屬性窗口的屬性可按字母順序鈕進(jìn)行顯示,或是按分類(lèi)鈕進(jìn)行分類(lèi)顯示,分類(lèi)鈕是按照外觀、訪問(wèn)范圍、行為、布局、設(shè)計(jì)、焦點(diǎn)、數(shù)據(jù)來(lái)尋找屬性名稱(chēng)以更改其默認(rèn)

5、值。本節(jié)選取以屬性分類(lèi)的方式來(lái)介紹窗體常用的屬性。,⑴ 外觀類(lèi)型的屬性,外觀類(lèi)型的屬性常用的有:BackColor(背景色)、BackGroundImage(背景圖片)、Cursor(指針)、Font(字體)、ForeColor(前景色)和Text(標(biāo)題文字)等屬性。,⑵ 窗口樣式的屬性,窗口樣式的屬性常用的有Icon(標(biāo)題的圖標(biāo)文件)、MaximizeBox(最大化)、MinimizeBox(最小化)等屬性。,⑶ 布局類(lèi)型的屬性,布局

6、類(lèi)型的屬性比較常用的有Location(窗體位置)、Size(窗體大?。tartPosition(初始化位置)、WindowState(窗體狀態(tài))等屬性。StartPosition(初始化位置)屬性的設(shè)置,可決定程序窗口在屏幕出現(xiàn)時(shí)的位置,其屬性值有五種狀態(tài):Manual(手動(dòng))CenterScreen(屏幕中央)WindowsDefaultLocation(默認(rèn)值)WindowsDefaultBounds(屏幕中央并自動(dòng)

7、調(diào)整窗體邊界大?。〤enterParent(父窗口中央)WindowState(窗體狀態(tài))屬性的設(shè)置,可決定程序窗口出現(xiàn)時(shí)的初始可見(jiàn)狀態(tài)。,7.1.3 窗體的重要方法和事件,窗體常用的方法主要有。⑴ Show方法該方法的作用是讓窗體顯示出來(lái),其調(diào)用格式為:窗體名.Show(),如下代碼。Form2 frm=new Form2();//實(shí)例化窗體frm.Show()//顯示窗體⑵ Hide方法該方法的作用是把窗體隱

8、藏出來(lái),其調(diào)用格式為:窗體名.Hide()。⑶ Refresh方法該方法的作用是刷新并重畫(huà)窗體,其調(diào)用格式為:窗體名.Refresh()。,⑷ Activate方法該方法的作用是激活窗體并給予它焦點(diǎn)。其調(diào)用格式為:窗體名.Activate();⑸ Close方法該方法的作用是關(guān)閉窗體。其調(diào)用格式為:窗體名.Close();⑹ ShowDialog方法該方法的作用是將窗體顯示為模式對(duì)話框。其調(diào)用格式為:窗體名.ShowDia

9、log();窗體常用的事件主要有。⑴ Activated事件當(dāng)使用代碼激活或用戶激活窗體時(shí)發(fā)生⑵ closing事件關(guān)閉窗體中發(fā)生。⑶ closed事件關(guān)閉窗體后發(fā)生⑷ Load事件在載入窗體時(shí)發(fā)生。如下代碼。//載入窗體時(shí)將窗體的標(biāo)題欄取消private void Form1_Load(object sender, EventArgs e){this.FormBorderStyle = FormBorder

10、Style.None;//設(shè)置窗體的邊框樣式為None},7.1.4 常用的輸入輸出方法,在Windows應(yīng)用程序中,我們經(jīng)常需要用戶輸入信息和向用戶輸出信息。在前面章節(jié)中我們介紹了如何使用控制臺(tái)輸入輸出信息,下面我們簡(jiǎn)單介紹一下使用Windows窗體和控件輸入輸出信息。常用的可接受信息的控件有:Lable控件、TextBox控件等,我們將在下面章節(jié)中詳細(xì)向大家介紹。常用的輸出方法有:MessageBox()、Lable控件和

11、TextBox控件等。MessageBox是一個(gè)消息框?qū)ο?。要?jiǎng)?chuàng)建消息框,需要調(diào)用MessageBox的Show()方法來(lái)實(shí)現(xiàn),,而Show()方法有很多重載方式,常用的有4種類(lèi)型。,⑴ 最簡(jiǎn)單的消息框MessageBox.Show(“消息內(nèi)容”);如圖所示。⑵ 帶標(biāo)題的消息框MessageBox.Show(“消息內(nèi)容”,“消息框標(biāo)題”);如圖所示。⑶ 帶標(biāo)題、按鈕的消息框MessageBox.Show(“消息內(nèi)容”,“消

12、息框標(biāo)題”,消息框按鈕);如圖所示。⑷ 帶標(biāo)題、按鈕、圖標(biāo)的消息框MessageBox.Show(“消息內(nèi)容”,“消息框標(biāo)題”,消息框按鈕,消息框圖標(biāo))。,第 7 章 Windows應(yīng)用程序開(kāi)發(fā)初步——常用窗體控件,窗體的屬性和方法 常用的輸入輸出方法 標(biāo)簽控件和超鏈接控件 文本控件、單選按鈕和復(fù)選按鈕 圖片控件和進(jìn)度條控件 選項(xiàng)卡控件和Timer控件 Windows應(yīng)用程序的結(jié)構(gòu)和開(kāi)發(fā)步驟,7.2 利用“積木”編

13、程序--常用Windows窗體控件,在Windows應(yīng)用程序中,控件是用戶界面的基本單元。在容器所定義的區(qū)域中,控件直接與用戶交互。Windows應(yīng)用程序支持多種控件,在Visual Studio 2008開(kāi)發(fā)環(huán)境下根據(jù)功能可將控件劃分為7種類(lèi)型。文本類(lèi)控件(如TextBox控件)、動(dòng)作類(lèi)控件(如Button控件)、列表類(lèi)控件(如ListBox控件)、值類(lèi)控件(如CheckBox控件)、圖形顯示類(lèi)控件(如PictureBox控件)、日期

14、類(lèi)控件(如PictureBox控件)和容器類(lèi)控件(如GroupBox控件)。下面我們將詳細(xì)介紹此類(lèi)控件。,7.2.1 標(biāo)簽控件和超鏈接標(biāo)簽控件,Lable控件是一個(gè)標(biāo)簽控件。LinkLable是一個(gè)帶超鏈接的標(biāo)簽控件,它繼承于Lable控件,所以Lable控件和LinkLable控件用法相似。Lable是最常用的控件,在任何Windows應(yīng)用程序中都可以看到標(biāo)簽控件。標(biāo)簽控件用于顯示用戶不能編輯的文本或圖像,常用于對(duì)窗體上各種控件進(jìn)行

15、標(biāo)注或說(shuō)明。Lable控件的Image屬性可以設(shè)置顯示的圖片。下面表格列出了Lable控件的常用成員。,成員名稱(chēng)類(lèi)別說(shuō)明AutoSize屬性指定控件是否按內(nèi)容自動(dòng)調(diào)整大小BorderStyle屬性指定控件框風(fēng)格FlatStyle屬性指定控件平面風(fēng)格Image屬性指定控件要顯示的圖像Show方法將控件的Visiable屬性設(shè)為T(mén)rue并顯示控件Hide方法用于隱藏控件Keypress事件當(dāng)標(biāo)

16、簽有焦點(diǎn)且用戶按下某個(gè)鍵時(shí)發(fā)生Click事件當(dāng)點(diǎn)擊標(biāo)簽時(shí)發(fā)生下面代碼將演示如何使用Lable控件進(jìn)行編程。01 label1.Text = "歡迎你";//設(shè)置Lable控件的Text屬性02 if (this.label2.Visible == true)//判斷Lable2控件是否可見(jiàn)03 {04 this.label2.Hide();//將Lable

17、2控件隱藏05 this.label3.Text = "顯示控件";06 return;07 },LinkLable控件能夠讓用戶向Windows窗體應(yīng)用程序添加Web樣式的鏈接。所有可以使用Lable控件的地方都可以使用LinkLable控件,另外,用戶可以將文本的一部分設(shè)置為指向某個(gè)對(duì)象或網(wǎng)頁(yè)的鏈接。該控件支持Lable控件中的所有屬性、方法和事件。下面介紹該控件的Li

18、nkArea屬性,該屬性用于表示必須顯示為超級(jí)鏈接的文本。如代碼中LinkArea(5,8)表示文本內(nèi)鏈接區(qū)域的從第五個(gè)字符開(kāi)始、長(zhǎng)度為8的字符顯示為超級(jí)鏈接。01 linkLabel1.LinkArea = new LinkArea(5,8);,7.2.2 按鈕控件,Button是一個(gè)按鈕控件,該控件允許用戶通過(guò)點(diǎn)擊來(lái)執(zhí)行各種操作。程序使用這個(gè)控件的時(shí)候通常需要做兩個(gè)工作。⑴ 設(shè)置按鈕屬性。⑵ 編寫(xiě)Click事件方法下

19、面表格列出了Button類(lèi)的主要成員及其說(shuō)明。成員名稱(chēng)類(lèi)別說(shuō)明AutoSizeMode屬性自動(dòng)調(diào)節(jié)大小的模式DialogResult屬性單擊時(shí)返回窗口的結(jié)果PerformClick方法引發(fā)一個(gè)單擊事件其中DialogResult屬性比較常用,一般用于不執(zhí)行任何動(dòng)作的“確定”或“取消”按鈕。但其對(duì)于那些需要條件判斷才返回的情況不適用。,下面代碼演示了Button控件的Click事件。01 private

20、 void button1_Click(object sender, EventArgs e)//Button控件的Click事件02 {03 if (true)//如果為真,返回結(jié)果給窗體04 {05 this.DialogResult=DialogResult.OK;06 }07 },7.2.3 文本框控件和分組框控件,TextBox控件是一個(gè)普通的文本

21、框控件。該控件的作用是向用戶提供輸入和顯示文本。默認(rèn)情況下,控件以單行顯示,最多可輸入2048個(gè)字符,如果設(shè)置Multiline屬性為T(mén)rue,將以多行的形式顯示,且最多可輸入32KB的文本。,,下面表格列出了TextBox類(lèi)的主要成員及其說(shuō)明:成員名稱(chēng)類(lèi)別說(shuō)明TextAlign屬性指示應(yīng)該如何對(duì)齊編輯框內(nèi)的文本。Dock屬性停靠位置,??康礁溉萜鞯哪囊粋€(gè)邊緣BorderStyle屬性文本框控件的邊框類(lèi)型。P

22、asswordChar屬性密碼輸入顯示的字符。Multiline屬性指示它是否為多行文本框控件。TextChanged事件Text 屬性值更改時(shí)發(fā)生。Click事件單擊文本框時(shí)發(fā)生。GetFocus事件在控件接收焦點(diǎn)時(shí)發(fā)生。LostFocus事件當(dāng)控件失去焦點(diǎn)時(shí)發(fā)生KeyPress、KeyDown事件在控件有焦點(diǎn)的情況下按下鍵時(shí)發(fā)生KeyUp事件在控件有焦點(diǎn)的情況下釋放鍵時(shí)發(fā)生通過(guò)對(duì)Tex

23、tbox控件的MaxLength和PasswordChar屬性可以實(shí)現(xiàn)限制用戶名稱(chēng)長(zhǎng)度及設(shè)置密碼文本,代碼如下。01 textBox1.MaxLength = 6;//設(shè)置文本框textBox1的最大長(zhǎng)度為602 textBox1.PasswordChar = "*";//設(shè)置文本框顯示字符為*,,TextBox控件比較常用的方法是操作文本的方法,如AppendText方法用于在文本框中當(dāng)前顯示

24、的文本末尾添加指定的文本,Clear方法用于清空當(dāng)前文本框中顯示的文本,另外還有Copy、Cut和Paste方法。下面代碼實(shí)現(xiàn)了控件中選中文本的復(fù)制和剪切。01 if(textBox1.SelectionLength > 0)//判斷被選擇的文本長(zhǎng)度是否大于002 textBox1.Copy();//復(fù)制文本框中被選中的文本03 if(textBox1.SelectedText != ""

25、;)//判斷文本框中有沒(méi)有文本被選中04 textBox1.Cut();//剪切文本框中北選中的文本,GroupBox是一個(gè)分組框控件。,該控件主要為其它控件提供分組,按照控件的分組來(lái)細(xì)分窗體的功能。分組框控件屬于容器控件,一般不對(duì)該控件編碼。為什么使用該控件呢?可以得到以下三個(gè)方面的好處。⑴ 對(duì)相關(guān)窗體元素進(jìn)行可視化分組以構(gòu)造一個(gè)清晰的用戶界面。⑵ 創(chuàng)建編程分組(例如,單選按鈕分組)。⑶ 設(shè)計(jì)時(shí)將多個(gè)控件作為一個(gè)單元移

26、動(dòng)。,,下表列出了GroupBox類(lèi)的常用成員及其說(shuō)明。成員名稱(chēng)類(lèi)別說(shuō)明AutoSizeMode屬性指定用戶界面元素自動(dòng)調(diào)整自身大小的模式Text屬性與控件關(guān)聯(lián)的文本下面代碼演示了如何設(shè)置GroupBox控件的屬性.01 private void InitGroupBox(GroupBox groupBox)02 {03 groupBox.Text = "G

27、roupBox控件示例";04 groupBox.FlatStyle = FlatStyle.Flat;05 },【范例7-1】 TextBox控件示例,? 新建一個(gè)C# Windows窗體應(yīng)用程序,項(xiàng)目名稱(chēng)為“TextBoxSample “。? 向Windows窗體中添加一個(gè)兩個(gè)文本框控件,兩個(gè)按鈕控件,設(shè)計(jì)如圖所示界面。? 雙擊窗體空白區(qū)域,切換到代碼視圖,在Form_Loa

28、d事件中編寫(xiě)如下代碼(代碼7-1-1.txt)。,7.2.4 單選按鈕控件和復(fù)選框控件,RadioButton控件是一個(gè)單選按鈕。在同一容器控件中,有兩個(gè)或兩個(gè)以上的RadioButton控件將產(chǎn)生互斥。也就是說(shuō),只能選擇一個(gè)。下表列出了RadioButton類(lèi)的主要成員及其說(shuō)明。,,01 if (radioButton1.Checked == false && radioButton2.Checked == f

29、alse)02 {//如radioButton1和radioButton2的Checked為false提示選擇性別03 MessageBox.Show("請(qǐng)選擇性別");04 },CheckBox控件是一個(gè)復(fù)選框。,該控件默認(rèn)用于向用戶提供兩種狀態(tài)選擇:True和False。當(dāng)其TreeState屬性為T(mén)rue時(shí),可以設(shè)置三種狀態(tài),另外一種為不確定狀態(tài)(Indeterminate)。下表

30、列出了CheckBox類(lèi)的常用屬性及其說(shuō)明。成員名稱(chēng)類(lèi)別說(shuō)明Checked屬性指示組件是否處于選中狀態(tài)Enabled屬性指示是否已啟用該控件ThreeState屬性指示CheckBox是否會(huì)允許三種選中狀態(tài),而不是兩種狀態(tài)Click事件單擊組件時(shí)發(fā)生CheckedChanged事件每當(dāng)Check屬性更改時(shí)發(fā)生CheckStateChanged事件每當(dāng)更改CheckState屬性時(shí)發(fā)生Focu

31、s方法為控件輸入焦點(diǎn)下面代碼演示了使用Checked屬性判斷復(fù)選框是否選中,并給出提示信息。01 if (this.checkBox1.Checked == false && this.checkBox2.Checked ==false && checkBox3.Checked == false)// //如radioButton1、 radioButton2和radioButton3的C

32、hecked為false提示選擇一項(xiàng)02 {03 MessageBox.Show("請(qǐng)至少選一項(xiàng),謝謝!");04 return;05 },,01 if (radioButton1.Checked == false && radioButton2.Checked == false)02 {//如radioButton1和

33、radioButton2的Checked為false提示選擇性別03 MessageBox.Show("請(qǐng)選擇性別");04 },下面代碼演示了通過(guò)在CheckedChanged事件處理程序中編寫(xiě)代碼,給出提示信息。01 private void checkBox1_CheckedChanged(object sender, EventArgs e)02 {03 if (

34、this.checkBox1.Checked == true) //判斷是否選擇了checkBox104 {05 MessageBox.Show("你選擇的是checkBox1");//顯示選擇的內(nèi)容06 }07 },【范例7-2】 Button控件示例,? 新建一個(gè)C# Windows窗體應(yīng)用程序,項(xiàng)目名稱(chēng)為“ButtonControl”。? 向Window

35、s窗體中添加四個(gè)Lable控件,一個(gè)TextBox控件,兩個(gè)RadioButton控件,三個(gè)CheckBox控件和一個(gè)Button控件,設(shè)計(jì)如圖所示界面。? 切換到代碼視圖,在提交信息按鈕的Click事件中編寫(xiě)如下代碼(代碼7-2.txt)。,7.2.5 列表框控件和組合框控件,ListBox是一個(gè)列表框控件,該控件可以顯示較長(zhǎng)的選項(xiàng)列表,用戶可從中選擇一項(xiàng)或多項(xiàng)。該控件默認(rèn)顯示一列選項(xiàng)。當(dāng)ListBox控件的MultiColum

36、n屬性為T(mén)rue時(shí),列表以多列形式顯示項(xiàng)。如果項(xiàng)總數(shù)超出可以顯示的項(xiàng)數(shù),則自動(dòng)向ListBox控件添加滾動(dòng)條。ListBox控件列表中的每個(gè)元素成為項(xiàng)。,下表列出了ListBox類(lèi)的常用成員及其說(shuō)明。,成員名稱(chēng)類(lèi)別說(shuō)明DataSource屬性指示此控件將用來(lái)獲取其項(xiàng)的列表Items屬性列表框中的項(xiàng)。SelectedItem屬性指定控件中當(dāng)前選定內(nèi)容的對(duì)象SelectedIndexChanged事件Select

37、edIndex屬性值更改進(jìn)發(fā)生SelectedValueChanged事件在ListControl上更改SelectedValue屬性的值時(shí)引發(fā)的事件續(xù)表成員名稱(chēng)類(lèi)別說(shuō)明Add()方法向ListBox的項(xiàng)列表添加項(xiàng)AddRange()方法向ListBox的項(xiàng)列表添加項(xiàng)的數(shù)組Clear()方法向ListBox中移除所有項(xiàng)Insert()方法將一項(xiàng)插入集全中指定索引處Remove()方法向List

38、Box中移除指定項(xiàng)RemoveAt()方法向ListBox中指定索引處的項(xiàng)我們將重點(diǎn)介紹一個(gè)Items屬性。該屬性使用戶可以獲取對(duì)當(dāng)前存儲(chǔ)在ListBox中的項(xiàng)列表的應(yīng)用。通過(guò)此引用,可以在集合中添加項(xiàng),移除項(xiàng)和獲得項(xiàng)的數(shù)目。,下面代碼演示了如何使用ListBox類(lèi)的方法實(shí)現(xiàn)向列表中添加、修改項(xiàng),01 //單擊添加按鈕事件02 private void btnAdd_Click(object sender, Eve

39、ntArgs e)03 {04 if (this.txtInput.Text != "")//如果文本框非空,則進(jìn)行添加05 {06 this.listBox1.Items.Add(this.txtInput.Text);07 this.txtInput.Text = "";//添加完畢,文本框置空08

40、 }09 },,10 //單擊修改按鈕事件11 private void btnUpd_Click(object sender, EventArgs e)12 {13 if (nSelectedIndex -1)14 {15 this.listBox1.Items[nSelectedIndex] = this.txtInput.Text;

41、16 //對(duì)選中的那一條的內(nèi)容進(jìn)行修改17 }18 },ComboBox是一個(gè)組合框控件。,該控件可讓用戶輸入或下拉選擇內(nèi)容。它結(jié)合了TextBox控件和ListBox控件的功能。組合框(ComboBox)控件幾乎支持列表框控件的所有屬性。下表列出了ComboBox類(lèi)的常用成員及其說(shuō)明成員名稱(chēng)類(lèi)別說(shuō)明DropDownStyle屬性此屬性表示ComboBox的樣式Ite

42、ms屬性組合框中的項(xiàng)MaxDropDownItems屬性在下拉列表框中顯示的最多項(xiàng)數(shù)Click事件單擊組件時(shí)發(fā)生SelectedIndexChanged事件SelectedIndex屬性值更改時(shí)發(fā)生SelectedValueChanged,,事件在ListControl上更改SelectedValue屬性的值時(shí)引發(fā)其中DropDownStyle屬性取值可以為Simple、DropdownList和Dropd

43、own等。取值為DropDown時(shí),文本部分可編輯,用戶必須單擊箭頭按鈕來(lái)顯示列表部分,這是默認(rèn)值;取值為DropDownList時(shí),用戶不能直接編輯文本部分,必須單擊箭頭按鈕來(lái)顯示列表部分;取值為Simple時(shí),文本部分可編輯,而且列表部分可見(jiàn)。例如,將ComboBox控件的DropDownStyle屬性設(shè)置為“DropDownList”代碼如下。01 comboBox1.DropDownStyle = ComboBoxSty

44、le.DropDownList;ComboBox最重要的事件是SelectedIndexChange事件,該事件主要在SelectedIndex屬性更改后發(fā)生。,【范例7-3】 帶查詢(xún)功能的ComboBox控件,? 啟動(dòng)Visual Studio 2008,新建一個(gè)C# Windows窗體應(yīng)用程序,項(xiàng)目名稱(chēng)為“ComboBoxSample“。? 向Windows窗體中添加兩個(gè)Lable控件,一個(gè)GroupBox控件,一個(gè)Comb

45、oBox控件,設(shè)計(jì)如圖所示界面。? 切換到代碼視圖,在窗體的Form_Load事件中編寫(xiě)如下代碼(代碼7-3.txt)。,7.2.6 圖片框控件和進(jìn)度條控件,PictureBox控件是一個(gè)圖片顯示控件。該控件可以顯示的圖片格式有:BMP、GIF、JPEG、ICO和圖元文件等。其SizeMode屬性可以設(shè)置圖片的顯示方式,如縮放、拉伸、自動(dòng)大小等。成員名稱(chēng)類(lèi)別說(shuō)明BorderStyle屬性指定控件邊框的風(fēng)格Enabl

46、ed屬性指定控件是否可用Image屬性指定控件顯示的圖片ImageLocation屬性指定圖片的位置SizeMode屬性指定圖片的顯示方式WaitOnLoad屬性確定圖像是否是同步加載的,下面對(duì)比較常用的成員進(jìn)行詳細(xì)介紹。SizeMode屬性。此屬性用于設(shè)置PictureBox控件將如何處理圖像位置和大小。語(yǔ)法:public PictureBoxSizeMode SizeMode{get;set;

47、} 屬性值:PictureBoxSizeMode值之一,默認(rèn)為Normal。PictureBoxSizeMode:一個(gè)返回值,用來(lái)處理圖像位置和大小。PictureBoxSizeMode屬性值及其說(shuō)明如下表。屬性值說(shuō)明Normal圖像被置于PictureBox的左上角。如果圖像比包含它的PictureBox大,則該圖像將被剪裁掉。StretchImagePictureBox中的圖像被拉伸或收縮,以適合PictureB

48、ox的大小。AutoSize調(diào)整PictureBox大小,使其等于所包含的圖像大小。CenterImage如果PictureBox比圖像大,則圖像將居中顯示。如果圖像比 PictureBox大,則圖片將居于PictureBox中心,而外邊緣將被剪裁掉。Zoom圖像大小按其原有的大小比例被增加或減小。如下代碼演示了將圖像居中顯示。01 this.PictureBox1.SizeMode = PictureBoxSiz

49、eMode.CenterImage;ProgressBar控件時(shí)一個(gè)進(jìn)度顯示控件。該控件可以讓用戶了解一個(gè)操作的進(jìn)度,常用于加載,,大量數(shù)據(jù)和大文件,幫助用戶了解等待一定長(zhǎng)時(shí)間的操作完成所需的時(shí)間。成員名稱(chēng)類(lèi)別說(shuō)明Maximum屬性此ProgressBar正使用的范圍的上限Minimum屬性此ProgressBar正使用的范圍是下限Step屬性指定Value屬性遞增的值Value屬性ProgressB

50、ar的當(dāng)前值,在由最小和最大值指定的范圍之內(nèi)PerformStep方法該方法按照Step屬性中指定的數(shù)量增加進(jìn)度欄的值Step屬性用于指定Value屬性遞增的值。其值為每次調(diào)用PerformStep方法增加進(jìn)度欄所根據(jù)的數(shù)量,默認(rèn)值為10.。,下面代碼演示了如何使用ProgressBar控件的屬性和方法。,01 private void button1_Click(object sender, EventArgs e)0

51、2 {03 this.pgrLoad.Maximum = 100;//設(shè)定起始值04 this.pgrLoad.Minimum = 0;//設(shè)定結(jié)束值05 this.pgrLoad.Step = 10;//設(shè)定步長(zhǎng)值06 for (int i = 0; i <= 100; i++)//循環(huán)100次,演示ProgressBar的運(yùn)行07

52、 {08 if (i % 10 == 0)//判斷是否為10的倍數(shù)09 pgrLoad.PerformStep();//增進(jìn)一步10 }11 },7.2.7 日期控件,DateTimePicker控件允許用戶從日期或時(shí)間列表中選擇單個(gè)項(xiàng),用來(lái)表示日期。該控件顯示為兩部分:一部分為下拉列

53、表(以文本形式顯示的日期),另一部分為網(wǎng)格(在單擊列表旁邊的向下箭頭時(shí)顯示)。用戶也可以直接輸入日期和時(shí)間。通過(guò)設(shè)置該控件的Format屬性可以選擇顯示格式。成員名稱(chēng)類(lèi)別說(shuō)明Checked屬性當(dāng)ShowSelectBox為true時(shí),確定是否選中復(fù)選框,以指示用戶已選擇了某個(gè)值。Format屬性確定日期和時(shí)間是用標(biāo)準(zhǔn)格式顯示還是用自定義個(gè)數(shù)顯示。MaxDate屬性可以選擇的最大日期,,MinDate屬性

54、可以選擇的最小日期ShowUpDown屬性指示是否使用數(shù)值調(diào)節(jié)鈕控件(也稱(chēng)為 up-down 控件)調(diào)整日期/時(shí)間值DropDown事件在下拉日歷將要下拉時(shí)發(fā)生CloseUp事件在下拉日歷被關(guān)閉并消失時(shí)發(fā)生ToString方法返回表示當(dāng)前DateTimePicker控件的字符串GetType方法獲取當(dāng)前實(shí)例的System.Type下面詳細(xì)介紹DateTimePicker控件的常用成員⑴ Value屬性。

55、此屬性指當(dāng)前控件的日期或時(shí)間值。屬性值為分配給控件的DateTime值。,⑵ ToString方法。用于返回表示當(dāng)前DateTimePicker控件的字符串。返回值返回表示當(dāng)前DateTimePicker的字符串,該字符串包括該控件的類(lèi)型和Value屬性。下面代碼演示了如何使用DateTimePicker控件的屬性、事件和方法01 public partial class frmData : Form//窗體名為frm

56、Data02 {03 private void dateTimePicker1_CloseUp(object sender, EventArgs e)04 {//下拉日歷關(guān)閉時(shí)執(zhí)行如下代碼05 this.textBox1.Text = dateTimePicker1.Value.ToString();06 }07

57、 private void button1_Click(object sender, EventArgs e)08 {//設(shè)置日期和時(shí)間格式09 dateTimePicker1.Format = DateTimePickerFormat.Custom;10 this.dateTimePicker1.CustomFormat = &

58、quot;dddd dd MMM yyyy";11 }12 },7.2.8 選項(xiàng)卡控件,TabControl控件也稱(chēng)為分頁(yè)控件。該控件可以添加多個(gè)選項(xiàng)卡,然后在選項(xiàng)卡上添加子控件。這樣就可以把窗體設(shè)計(jì)成多頁(yè),使窗體的功能劃分為多個(gè)部分。TabControl控件的標(biāo)簽可以顯示文本信息,也可以顯示圖標(biāo)。下表列出了TabControl類(lèi)的主要成員及其說(shuō)明。成員名稱(chēng)類(lèi)別說(shuō)明Align

59、ment屬性確定選項(xiàng)卡是否顯示在控件的頂部,底部,左側(cè)或右側(cè)(在左側(cè)或右側(cè)時(shí)將隱式地分為多行)指示代碼中用來(lái)標(biāo)識(shí)該對(duì)象的名稱(chēng)Appearance屬性指示選項(xiàng)卡是繪制成按鈕還是繪制成普通選項(xiàng)卡DrawMode屬性指示是由系統(tǒng)還是由用戶繪制標(biāo)題,,Multiline 屬性指示當(dāng) TabControl 中包括很多標(biāo)簽時(shí),標(biāo)簽頁(yè)的標(biāo)簽是否可以換行TabPages屬性獲取該選項(xiàng)卡控件中選項(xiàng)卡頁(yè)的集合TabPage

60、s屬性值TabPageCollection,它包含TabControl中的TabPage對(duì)象。此集合中的選項(xiàng)卡頁(yè)的順序反映了選項(xiàng)卡在控件中出現(xiàn)的順序。,下面代碼演示了在程序運(yùn)行時(shí)向TabPages中添加項(xiàng)。,01 this.tabPage1.Text = "功能1";//設(shè)置選項(xiàng)卡的名稱(chēng)02 this.tabPage2.Text = "功能2";//設(shè)置選項(xiàng)卡的名稱(chēng)03

61、 string strName = "功能" + Convert.ToString(this.tabControl1.TabPages.Count + 1);//將選項(xiàng)卡的名稱(chēng)按個(gè)數(shù)顯示,如功能、功能、功能等04 string strTap = "tabPage" + Convert.ToString(this.tabControl1.TabPages.Count);05 t

62、his.tabControl1.TabPages.Add(strTap, strName);//添加新的選項(xiàng)卡,7.2.9 Timer控件,Timer控件是一個(gè)定時(shí)引發(fā)事件的組件。該組件每隔一個(gè)指定的周期產(chǎn)生一個(gè)Tick事件,接收到此事件就可以執(zhí)行相應(yīng)的動(dòng)作。下表列出了Timer控件的主要成員以及說(shuō)明。成員名稱(chēng)類(lèi)別說(shuō)明 Enable屬性啟用Elapsed事件生成 Interval屬性Elapsed事件

63、的頻率(以毫秒為單位)Tick 事件每當(dāng)經(jīng)過(guò)指定的時(shí)間間隔時(shí)發(fā)生Start()方法啟動(dòng)計(jì)時(shí)器Stop()方法停止計(jì)時(shí)器,下面對(duì)比較重要的成員進(jìn)行詳細(xì)介紹。⑴ Enable屬性。此屬性用于指定計(jì)時(shí)器是否運(yùn)行,此屬性設(shè)置為T(mén)rue,則表示可以啟動(dòng)計(jì)時(shí)器。⑵ Interval屬性。獲取或設(shè)置英法Elapsed事件的間隔。屬性值為引發(fā)Elapsed事件的間隔時(shí)間(以ms為單位)。默認(rèn)值為100ms。如下代碼。01 th

64、is.timer1.Interval = 1000;//設(shè)置Elapsed事件的頻率,間隔時(shí)間為100ms02 this.timer1.Enabled = false;//設(shè)置timer1不可用,無(wú)法啟用Elapsed事件⑶ Tick事件。該事件在當(dāng)指定的計(jì)時(shí)器間隔已過(guò)去而且計(jì)時(shí)器處于啟用狀態(tài)時(shí)發(fā)生。如下代碼。01 private void timer1_Tick(object sender, EventArgs

65、e)//Tick事件02 {03 this.label2.Text = "現(xiàn)在時(shí)間為:" + DateTime.Now.ToString(); //在label2上顯示現(xiàn)在時(shí)間04 },【范例7-4】 顯示操作進(jìn)度。? 啟動(dòng)Visual Studio 2008,新建一個(gè)C# Windows窗體應(yīng)用程序,項(xiàng)目名稱(chēng)為“TimerSample “。? 向Windows窗體中添加一個(gè)Ti

66、mer控件,一個(gè)ProgressBar控件,兩個(gè)Lable控件。在屬性窗口中將ProgressBar控件的最大值設(shè)為200,最小值設(shè)為0。,第 7 章 Windows應(yīng)用程序開(kāi)發(fā)初步——常用窗體控件,窗體的屬性和方法 常用的輸入輸出方法 標(biāo)簽控件和超鏈接控件 文本控件、單選按鈕和復(fù)選按鈕 圖片控件和進(jìn)度條控件 選項(xiàng)卡控件和Timer控件 Windows應(yīng)用程序的結(jié)構(gòu)和開(kāi)發(fā)步驟,7.3 Windows應(yīng)用程序的結(jié)構(gòu)和開(kāi)發(fā)步

67、驟,一個(gè)標(biāo)準(zhǔn)的Windows窗體應(yīng)用程序由窗體、控件及其事件所組成。當(dāng)為應(yīng)用程序設(shè)計(jì)用戶界面時(shí),通常創(chuàng)建一個(gè)從Form派生的類(lèi)。然后可以添加控件、設(shè)置屬性、創(chuàng)建事件處理程序以及向窗體添加編程邏輯。添加到窗體的每個(gè)組件(如文本框、按鈕、Timer、標(biāo)簽等)都稱(chēng)為控件。Windows窗體編程的一個(gè)重要方面就是控件編程。一般來(lái)說(shuō),控件都會(huì)有自己的屬性、方法以及特定的事件??丶幊痰年P(guān)鍵就是了解這些屬性、方法和事件的用法。事件是Wind

68、ows應(yīng)用程序的重要組成部分。Windows應(yīng)用程序是由事件驅(qū)動(dòng)的,整個(gè)程序的運(yùn)行過(guò)程都離不開(kāi)事件和事件處理。程序編制也以事件處理為核心。在應(yīng)用程序結(jié)束時(shí),需要調(diào)用Dispose()方法釋放資源,以充分利用資源。.NET框架類(lèi)模型在Component類(lèi)中提供Dispose()方法。當(dāng)不再需要某個(gè)組件時(shí),調(diào)用Dispose()方法。例如,當(dāng)關(guān)閉某窗體時(shí),Windows窗體對(duì)該窗體以及該窗體內(nèi)包含的所有控件調(diào)用Dispose()方法。通常

69、使用Dispose()來(lái)及時(shí)釋放大量資源并移除對(duì)其他對(duì)象的引用,以便它們可以由垃圾回收進(jìn)行回收。還調(diào)用它以停止與該窗體關(guān)聯(lián)的任何正在執(zhí)行的程序邏輯。應(yīng)使Dispose()方法中的代碼盡可能的簡(jiǎn)單和可靠。Component的Dispose()方法如下。,7.3 Windows應(yīng)用程序的結(jié)構(gòu)和開(kāi)發(fā)步驟,01 /// 清理所有正在使用的資源。02 /// 03 /// 如果應(yīng)釋放托管資源,為 true;否則為 fals

70、e。04 protected override void Dispose(bool disposing)//析構(gòu)函數(shù),釋放資源05 {06 if (disposing && (components != null))07 {08 components.Dispose();//調(diào)用Component類(lèi)中提供Dispose方法09 }10

溫馨提示

  • 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ù)僅提供信息存儲(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)論