C#-程序設(shè)計教程第9章_第1頁
C#-程序設(shè)計教程第9章_第2頁
C#-程序設(shè)計教程第9章_第3頁
C#-程序設(shè)計教程第9章_第4頁
C#-程序設(shè)計教程第9章_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 第9章 基于Windows的應(yīng)用程序 9.1 Windows窗體應(yīng)用程序概述 9.2 Windows窗體及控件介紹 9.3 常用控件的屬性、方法和事件 9.4 基于Windows Forms的程序設(shè)計10 七月 2022第9章 基于Windows的應(yīng)用程序10 七月 20229.1 Windows窗體應(yīng)用程序概述 以下步驟新建一個Windows應(yīng)用程序并了解程序及項目結(jié)構(gòu);并且在已有Windows應(yīng)用程序的基礎(chǔ)上增加一個新的窗體。1Windows窗體項目結(jié)構(gòu)以下過程將創(chuàng)建一個Windows應(yīng)用程序,并了解整個項目的基本結(jié)構(gòu)。實現(xiàn)步驟如下:(1)點擊右下角“開始” “Visual Studio

2、 2017” 打開Visual Studio 2017開發(fā)環(huán)境。(2)選擇菜單“文件”“新建”“項目”,打開“新建項目”對話框,如圖9-1所示。在左側(cè)“項目類型”窗格中選擇“Windows桌面”,在右側(cè)的“模板”窗格中選擇“Windows窗體應(yīng)用(.NET Framework)”。10 七月 20229.1 Windows窗體應(yīng)用程序概述(3)在“名稱”文本框中,輸入“MyFirstApplication”作為該項目的名稱。在“位置”文本框中,輸入你準(zhǔn)備保存項目的目錄或者單擊“瀏覽”按鈕選擇目錄。(4)單擊“確定”,Visual Studio將新建一個項目,并在窗體設(shè)計器中顯示新窗體。(5)如

3、圖9-2所示,在“解決方案管理器”窗口中展開“Form1.cs”前面的“ ”號,雙擊“Form1.Designer.cs”,可以查看“Form1.Designer.cs”的代碼,看程序代碼的基本結(jié)構(gòu):所有的代碼都屬于名稱空間MyFirstApplication,名稱空間MyFirstApplication中包含了類Form1,類Form1包含一些變量和方法。和類和對象中我們看到的類的定義有所不同,這里Form1的前面多了一個關(guān)鍵字partial,關(guān)鍵字partial允許將類、結(jié)構(gòu)或接口的定義拆分到多個文件中。10 七月 20229.1 Windows窗體應(yīng)用程序概述(6)既然加了關(guān)鍵字part

4、ial,那么類Form1的另一部分代碼在什么位置呢?右鍵選擇“Form1.cs”,在下拉菜單中選擇“查看代碼”,可以查看“Form1.cs”的代碼??梢钥吹筋怓orm1繼承了Form類,并且包含構(gòu)造函數(shù)Form1()調(diào)用函數(shù)InitializeComponent(),函數(shù)InitializeComponent()的定義在“Form1.Designer.cs”中。(7)雙擊“Program.cs”,可以看到Main()函數(shù),Main()函數(shù)是整個應(yīng)用程序的入口,由此開始應(yīng)用程序的運行,Application.Run(new Form1()指在當(dāng)前線程上開始運行標(biāo)準(zhǔn)應(yīng)用程序消息循環(huán),并使窗體For

5、m1可見。10 七月 20229.2 Windows窗體及控件介紹1、新建一個窗體 Windows窗體是一個內(nèi)容豐富的編程框架,用于創(chuàng)建更易于使用的客戶端應(yīng)用程序。可以在System.Windows.Forms命名空間找到用于創(chuàng)建Windows桌面應(yīng)用程序的類,它們統(tǒng)稱為Windows Forms類。這個命名空間包含了Form類,它是所有對話框和頂級窗口的基類。另外,System.Windows.Forms命名空間還包含管理控件的類、與剪貼板進行交互的類、菜單和打印機的類等。Windows窗體是所有控件的最高一級容器,它里面可以放置各種各樣的其他控件。10 七月 20229.2 Windows

6、窗體及控件介紹1、新建一個窗體(1)在“解決方案資源管理器”中右鍵單擊項目名“MyFirstApplication”“添加”“Windows窗體”,如圖9-3所示。在彈出的“添加新項”對話框中選擇“Windows窗體”,在“名稱”文本框中輸入新建窗體的名字,例如“Form2.cs”(2)點擊“添加”,新建一個窗體,窗體設(shè)計器中出現(xiàn)Form2,解決方案資源管理器中也出現(xiàn)Form2。(3)點擊 按鈕運行程序,出現(xiàn)的是哪一個窗口呢?為什么?10 七月 20229.2 Windows窗體及控件介紹2、設(shè)置窗體屬性【例9-3】在本任務(wù)中,將在【例9-2】的基礎(chǔ)上,設(shè)置窗體的基本屬性。實現(xiàn)步驟如下:(1)

7、雙擊“解決方案資源管理器”中“Form1.cs”出現(xiàn)Form1所在的窗體。(2)在“屬性”窗口找到Text屬性,將屬性值改為“第一個窗體”,如圖9-5所示。(3)點擊 按鈕運行程序,可以看到窗體Form1的標(biāo)題已經(jīng)發(fā)生改變,如圖9-6所示。(4)除了在“屬性”窗口設(shè)置控件屬性,還可以在程序運行時改變控件屬性。雙擊Form1,進入到Form1的默認事件Load,在方法內(nèi)加入語句“this.Text = 在代碼中改變屬性;”,加入語句后方法如下所示。 private void Form1_Load(object sender, EventArgs e) /思考一下,代碼能改為“Form1.Text

8、=在代碼中改變屬性;”嗎 this.Text = 在代碼中改變屬性; (5)點擊 按鈕運行程序,可以看到窗體Form1的標(biāo)題同樣發(fā)生改變。10 七月 20229.2 Windows窗體及控件介紹3、向窗體添加控件【例9-4】在本任務(wù)中,將在【例9-3】的基礎(chǔ)上,在Form1上添加一個按鈕。實現(xiàn)步驟如下:(1)鼠標(biāo)移動到懸浮在左上方的“工具箱”窗口(如果“工具箱”不存在,可以通過菜單“視圖”“工具箱”打開“工具箱”窗口),雙擊 按鈕(或者在按鈕上按住鼠標(biāo)左鍵,拖動到Form1窗體上再釋放左鍵),都可以在窗體上添加一個Button控件,在窗體上添加其他控件方法也相同。(2)如果覺得控件的位置不合適

9、,可以選中控件后按住鼠標(biāo)左鍵拖動到合適的地方,然后釋放鼠標(biāo)左鍵。(3)覺得控件的大小不合適,可以選中控件,此時控件周圍會出現(xiàn)八個小方框,將鼠標(biāo)放到八個小方框中的一個,鼠標(biāo)會變成箭頭,按住鼠標(biāo)左鍵拖動控件到合適的大小后釋放鼠標(biāo)。(4)如果需要微調(diào)控件大小,按住shift鍵,和“”、“”、“”、“”鍵聯(lián)合使用可以微調(diào)控件大小。10 七月 20229.2 Windows窗體及控件介紹4、事件處理【例9-5】在本任務(wù)中,將在【例9-4】的基礎(chǔ)上,為Form1上的按鈕添加事件代碼,當(dāng)點擊按鈕后彈出【例9-2】中添加的Form2。實現(xiàn)步驟如下:(1)設(shè)置Button控件的Text屬性為“顯示Form2”。

10、(2)當(dāng)鼠標(biāo)在控件上雙擊時,會自動添加該控件的默認事件,在“代碼”窗口會自動添加該事件處理的代碼框,只要在代碼框中編輯代碼即可。雙擊Form1上的按鈕,為其添加“Click”事件處理,轉(zhuǎn)到“Form1.cs”代碼窗口,添加代碼如下: private void button1_Click(object sender, EventArgs e) Form2 form = new Form2(); form.Visible = true; (3)點擊 按鈕運行程序,點擊按鈕,查看結(jié)果。10 七月 20229.3. 常用控件的屬性、方法和事件 控件是帶有可視化表示形式的組件。由于所有的窗體控件都是從S

11、ystem.Windows.Forms.Control類繼承而來,所以,所有的Windows窗體控件都具有一些共性。掌握這些共性是快速入門Windows編程的捷徑。1屬性 屬性就是窗體的特征,包括控件的名稱、外觀、可訪問性、數(shù)據(jù)等內(nèi)容。不同種類的控件也會有一些屬于自己的特殊屬性,而掌握這些特殊屬性則是掌握不同控件的關(guān)鍵。比如,CheckBox控件用于進行選擇,所以就擁有CheckState屬性用于獲取或設(shè)置CheckBox的選中狀態(tài),這個屬性是所有單選或多選類控件都會有的屬性,但是Button控件卻不具有這個屬性。在代碼中輸入“對象名.”后,比如“button1.”,圖標(biāo) 后面的就是該控件所具

12、有的屬性??梢院芊奖愕脑赩isual Studio集成開發(fā)環(huán)境中“屬性”窗口設(shè)置控件屬性(如果沒有“屬性”窗口,點擊“視圖”“屬性窗口”打開“屬性”窗口),如圖9-7所示。10 七月 20229.3. 常用控件的屬性、方法和事件10 七月 20229.3. 常用控件的屬性、方法和事件2事件 事件是用戶和程序交互地一種最普遍的方式,事件可由用戶操作、程序代碼或系統(tǒng)生成。例如,單擊按鈕時會觸發(fā)Click事件,加載窗體時會觸發(fā)Load事件。事件產(chǎn)生時會發(fā)送消息,并由專門的消息處理程序翻譯并處理消息。 通常,事件都是C#中預(yù)先設(shè)置好的、可以被對象識別的操作。用戶只需要補充事件處理代碼,就可以完成對事件

13、的響應(yīng)??丶话愣加幸粋€默認事件,雙擊控件時會自動添加控件的默認事件。其它事件的代碼添加需要點擊 切換到“事件”列表,在相應(yīng)事件的右側(cè)輸入框中雙擊后添加事件響應(yīng)代碼,如圖9-8所示。10 七月 20229.3. 常用控件的屬性、方法和事件10 七月 20229.3. 常用控件的屬性、方法和事件3方法方法定義了控件類所具有的能夠控制自身狀態(tài)的一些操作。10 七月 20229.4 常用控件介紹(1)窗體Form 窗體是所有控件的容器,窗體對應(yīng)的類是Form,利用窗體的屬性可以設(shè)置窗體位置、大小、顏色、標(biāo)題、是否透明等。窗體可以響應(yīng)多種事件,如單擊、雙擊、加載、關(guān)閉、大小改變、位置改變等等。窗體的默

14、認事件為Load。(2)按鈕Button 按鈕控件Button 允許用戶通過單擊按鈕來執(zhí)行操作。當(dāng)按鈕被單擊時,即調(diào)用Click事件處理程序,可將代碼放入Click事件處理程序來執(zhí)行所需要的操作。Button類的Text屬性可用來表示按鈕上顯示的標(biāo)題文本。(3)標(biāo)簽Label 標(biāo)簽控件Label 用來顯示用戶不能編輯(窗體運行后無法編輯)的文本,常用屬性為Text。10 七月 20229.4 常用控件介紹(4)文本框TextBox 文本框TextBox 提供一個文本編輯區(qū)域,用于顯示用戶輸入或顯示文本,常用屬性為Text,默認事件為TextChanged,當(dāng)文本框中的文本發(fā)生變化時觸發(fā)。此外還

15、有KeyDown、KeyPress和KeyUp事件,用于響應(yīng)鍵盤按鍵事件。 可以通過設(shè)置Multiline屬性為True使文本框變?yōu)槎嘈校琍asswordChar屬性可以設(shè)置密碼字符,ReadOnly屬性為True可以讓文本框只讀。10 七月 20229.4 常用控件介紹(5)單選框RadioButton 單選框RadioButton ,當(dāng)同一組有多個單選按鈕時,只能有一個單選按鈕被選中。其中同一個容器中的單選按鈕是一組,窗體Form、面板Panel和群組框GroupBox是常用容器。 符號的右邊為選項說明文字,可以通過Text屬性設(shè)置。Checked屬性用來設(shè)置或者判斷控件是否選中,Chec

16、ked屬性值為True符號為 ,為False符號為 。 RadioButton控件的默認屬性為CheckedChanged事件,當(dāng)用戶單擊單選按鈕時,其選中狀態(tài)會改變,同時觸發(fā)CheckedChanged事件。(6)復(fù)選框CheckBox 復(fù)選框CheckBox ,用戶可以在多個復(fù)選框中選擇一個和多個,選中狀態(tài)為 ,未選中狀態(tài)為 。CheckBox控件的屬性和事件與RadioButton控件基本一樣,此處不再贅述。10 七月 20229.4 常用控件介紹(7)列表框ListBox 列表框ListBox 用來以項的形式顯示一系列選項,并可從中選擇一項或多項。如果有較多的選項,超出列表框區(qū)域而不能

17、一次全部顯示時,會自動加上滾動條。列表框最主要的特點是只能從中選擇,不能直接寫入或修改其內(nèi)容。默認事件為SelectedIndexChanged,當(dāng)SelectedIndex屬性更改后發(fā)生。GetSelected方法返回一個值指示是否選定了指定項。 SelectionMode屬性:屬性值為One表示同時只能有一個選項被選中,屬性值為MultiSimple時可以用鼠標(biāo)來進行多選,屬性值為MultiExtended時可以用Ctrl或Shift鍵+鼠標(biāo)進行多選。 SelectedIndex屬性:返回列表框中第一個選定項的下標(biāo)。 SelectedItem屬性:返回列表框中第一個選定項,通常是字符串值。

18、10 七月 20229.4 常用控件介紹Items屬性:獲取對當(dāng)前存儲在列表框中的項的引用,其值是列表框中所有項的集合?!傲斜砜蛎?Items.Count”返回總行數(shù)??梢酝ㄟ^“列表框名.Items下標(biāo)”來獲取或者設(shè)置某一項的值,可以通過它來編輯列表框中的選項,Items常用方法有:Add方法(在列表框中添加新項);Insert方法(在列表框中的指定索引位置添加新項);Clear方法(清除列表框中的所有項);Remove方法(刪除列表框中相符的項);RemoveAt方法(刪除列表框中指定索引位置的項)。10 七月 20229.4 常用控件介紹(8)組合框ComboBox 組合框ComboBox 是組合了文本框和列表框的特性而形成的一種控件,其作用與ListBox類似,但是占用的空間要小,常用的屬性為Items,默認事件為SelectedIndexChanged。 DropDown

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論