官术网_书友最值得收藏!

  • C#程序設(shè)計(jì)
  • 薛海燕 武書彥 馬金素
  • 2648字
  • 2019-10-23 14:03:43

1.3.2 創(chuàng)建一個(gè)Windows窗體應(yīng)用程序

窗體(Form)是一個(gè)窗口或?qū)υ捒?,是存放各種控件(包括標(biāo)簽、文本框、命令按鈕、菜單等)的容器,可用來向用戶顯示信息。

Windows窗體應(yīng)用程序,顧名思義就是運(yùn)行在Windows操作系統(tǒng)平臺(tái)上的應(yīng)用程序。設(shè)計(jì)者通過使用Visual Studio集成開發(fā)環(huán)境下的各種工具控件(如菜單欄、工具按鈕、文本編輯器等),設(shè)計(jì)一種能與用戶交流的Windows應(yīng)用程序界面。設(shè)計(jì)者可以定義Windows應(yīng)用窗體的外觀屬性、行為方法與用戶交互事件等,也可修改窗體的屬性或者添加代碼來響應(yīng)窗體的事件。例如,記事本就是一個(gè)Windows窗體應(yīng)用程序。

在Visual Studio 2013中創(chuàng)建一個(gè)基于C#的Windows窗體應(yīng)用程序通常需要以下5個(gè)步驟:

(1)創(chuàng)建項(xiàng)目文件。

(2)設(shè)計(jì)用戶界面。

(3)設(shè)置對(duì)象屬性。

(4)編寫對(duì)象事件過程代碼。

(5)保存并運(yùn)行程序(生成可執(zhí)行代碼)。

下面通過例子來理解創(chuàng)建Windows窗體應(yīng)用程序的方法和步驟。

【例1-2】創(chuàng)建第一個(gè)Windows窗體應(yīng)用程序,要求:

(1)窗體的標(biāo)題欄顯示“C#的第一個(gè)Windows窗體應(yīng)用程序”。

(2)在程序運(yùn)行時(shí)屏幕上顯示“歡迎學(xué)習(xí)C#程序設(shè)計(jì)”文字串,隸書、紅色14號(hào)字體。

(3)在窗體的文本框中輸入姓名,并居中,單擊“顯示”按鈕后,輸入的姓名居中顯示在右側(cè)的文本框中。

(4)單擊“關(guān)閉”按鈕,窗體被關(guān)閉退回到開發(fā)界面。程序運(yùn)行后的界面如圖1-14所示。

圖1-14 【例1-2】程序運(yùn)行界面

具體操作步驟如下:

1)創(chuàng)建項(xiàng)目文件

(1)啟動(dòng)Visual Studio 2013環(huán)境,依次選擇“文件”→“新建”→“項(xiàng)目”,在打開的對(duì)話框中依次單擊左側(cè)界面的“已安裝”→“模板”→“Visual C#”選項(xiàng),在“Visual C#”選項(xiàng)右側(cè)的展開項(xiàng)中選擇“Windows窗體應(yīng)用程序”,如圖1-15所示。這里需要注意的是,創(chuàng)建的Windows窗體應(yīng)用程序是在一個(gè)項(xiàng)目中存放的。

圖1-15 新建Windows窗體應(yīng)用程序項(xiàng)目界面

(2)在圖1-15新建項(xiàng)目窗體的下側(cè)找到項(xiàng)目“名稱”,在其右側(cè)文本框中輸入WForms1項(xiàng)目名稱。

(3)在“位置”文本框中輸入路徑名,或通過“瀏覽”按鈕選擇項(xiàng)目存放的位置。

(4)在“解決方案名稱”文本框中輸入解決方案名稱(默認(rèn)情況下解決方案名稱同項(xiàng)目名稱,有關(guān)解決方案的介紹在后續(xù)章節(jié)會(huì)學(xué)習(xí)到)。

(5)單擊“確定”按鈕,進(jìn)入C#的Windows窗體應(yīng)用程序界面設(shè)計(jì)窗口,F(xiàn)orm1是C#自動(dòng)創(chuàng)建的一個(gè)默認(rèn)窗體(類似于啟動(dòng)word后自動(dòng)創(chuàng)建一個(gè)默認(rèn)Doc1文檔),如圖1-16所示。

2)設(shè)計(jì)用戶界面

設(shè)計(jì)用戶界面就是在窗體中添加需要的控件信息,控件就是用戶可與之交互以輸入或操作數(shù)據(jù)的對(duì)象。將“工具箱”→“所有Windows應(yīng)用程序”中提供的TextBox(文本框)、Label(標(biāo)簽)、Button(按鈕)等控件添加到Form1窗體中,并布局好這些控件的大小和位置,就完成了用戶界面設(shè)計(jì)的任務(wù)。

添加控件的具體操作如下:

(1)雙擊工具箱中的Label標(biāo)簽控件圖標(biāo),窗體上就會(huì)出現(xiàn)名為label1的標(biāo)簽控件;再次雙擊Label標(biāo)簽控件圖標(biāo),窗體上就會(huì)出現(xiàn)名為label2的標(biāo)簽控件;或者直接用鼠標(biāo)兩次拖動(dòng)Label標(biāo)簽控件圖標(biāo)到窗體上(所有關(guān)于控件的拖動(dòng)類似操作),然后把它們拖放到適當(dāng)?shù)奈恢貌⒄{(diào)整好大小。

圖1-16 Windows窗體應(yīng)用程序的第一個(gè)默認(rèn)窗體Form1.cs

(2)雙擊工具箱中的TextBox文本框控件圖標(biāo),窗體上出現(xiàn)一個(gè)名為textBox1的文本框;再次雙擊TextBox文本框控件圖標(biāo),窗體上出現(xiàn)名為textBox2的控件。把它們拖動(dòng)到適當(dāng)?shù)奈恢貌⒄{(diào)整好大小。

(3)兩次雙擊工具箱中的Button按鈕控件圖標(biāo),窗體上出現(xiàn)名為button1、button2的按鈕,把它們拖動(dòng)到適當(dāng)?shù)奈恢貌⒄{(diào)整好大小。

(4)調(diào)整以上六個(gè)控件對(duì)象的位置,使其與圖1-14中顯示的控件位置相對(duì)應(yīng)。添加控件后的用戶界面如圖1-17所示。

圖1-17 設(shè)計(jì)用戶界面

3)設(shè)置對(duì)象屬性

在所有版本的Visual Studio集成環(huán)境下,其所有元素及部件都可以稱為對(duì)象。現(xiàn)在分別對(duì)窗體及控件等對(duì)象進(jìn)行屬性設(shè)置。表1-1中列出了【例1-2】Form1窗體中各對(duì)象要設(shè)置的屬性值。

表1-1 Form1對(duì)象的屬性值

(1)單擊窗體Form1的空白處(意味著選中了窗體),按F4鍵(調(diào)用屬性窗口,以下類同),在窗體屬性窗口中將它的Text屬性從默認(rèn)值Form1改為“C#的第一個(gè)Windows窗體應(yīng)用程序”。

(2)單擊label1標(biāo)簽控件,找到屬性窗口中的ForeColor屬性,將其默認(rèn)值ControlText改為Red。單擊屬性窗口下font屬性,展開其前面的“+”,找到Name屬性,將默認(rèn)值“宋體”改為“隸書”;找到size屬性,將默認(rèn)值9改為14。

(3)單擊label2標(biāo)簽控件,在屬性窗口中找到Text屬性,將默認(rèn)值Label2改為“輸入姓名:”。

(4)單擊button1按鈕控件,在屬性窗口中找到Text屬性,將默認(rèn)值Button1改為“顯示”。

(5)單擊textBox1文本框控件,在屬性窗口中找到文本框內(nèi)文本對(duì)齊屬性“TextAlign”,將其默認(rèn)值“Left”改為“Center”。

(6)單擊textBox2文本框控件,在屬性窗口中找到只讀ReadOnly屬性,將默認(rèn)值False改為True,意味著此文本框只能顯示文本,而不能修改文本信息;找到TextAlign屬性,將其默認(rèn)值Left改為Center。

(7)單擊button2按鈕控件,在屬性窗口中找到Text屬性,將默認(rèn)值Button2改為“關(guān)閉”。

設(shè)置好各個(gè)對(duì)象屬性后的窗體如圖1-18所示。

圖1-18 為Windows窗體添加控件及屬性

4)編寫代碼

對(duì)于一個(gè)Windows窗體應(yīng)用程序,如果只是創(chuàng)建了前臺(tái)用戶操作界面,而沒有控件相應(yīng)的后臺(tái)代碼編寫,那么這個(gè)界面就不能進(jìn)行實(shí)質(zhì)性的操作。編寫代碼是整個(gè)應(yīng)用程序設(shè)計(jì)開發(fā)中最重要的步驟,有了代碼,應(yīng)用程序就被賦予了靈魂。

(1)在圖1-17所示的設(shè)計(jì)界面上,雙擊窗體空白處,就會(huì)自動(dòng)切換到代碼編輯窗口,并自動(dòng)生成如下代碼行:

在花括號(hào)內(nèi)添加代碼“l(fā)abel1.Text = "歡迎學(xué)習(xí)C#程序設(shè)計(jì)";”,就可以實(shí)現(xiàn)程序運(yùn)行后窗體出現(xiàn)“歡迎學(xué)習(xí) C#程序設(shè)計(jì)”的文字信息。輸入代碼后的結(jié)果如下:

Form1_Load()是一個(gè)窗體加載函數(shù),意味著當(dāng)Form1窗體運(yùn)行時(shí)要執(zhí)行什么動(dòng)作,比如本例的窗體在運(yùn)行后,會(huì)顯示一行字符串信息:歡迎學(xué)習(xí)C#程序設(shè)計(jì)。

(2)雙擊“顯示”按鈕控件,切換到button1控件代碼編輯窗口,并自動(dòng)生成如下代碼行:

在花括號(hào)內(nèi)添加一行代碼“textBox2.Text = textBox1.Text;”,能夠?qū)崿F(xiàn)單擊“顯示”按鈕后,在文本框2中顯示文本框1中的信息。輸入代碼后的結(jié)果如下:

(3)雙擊“關(guān)閉”按鈕,切換到button2控件代碼編輯窗口,并自動(dòng)生成如下代碼行:

在花括號(hào)內(nèi)添加代碼“Application.Exit();”,實(shí)現(xiàn)關(guān)閉正在運(yùn)行的Windows窗體,并退回到Visual Studio中開發(fā)環(huán)境。輸入代碼后的結(jié)果如下:

注意

以上只有{}內(nèi)的黑色粗體代碼行才是從鍵盤上輸入的代碼,其他部分都是系統(tǒng)自動(dòng)生成的,在本例中要按照對(duì)應(yīng)的控件事件輸入相應(yīng)的代碼。

【例1-2】源代碼輸入完成后的代碼窗口如圖1-19所示。

5)調(diào)試運(yùn)行,保存項(xiàng)目文件

代碼輸入完成后,按F5鍵或者單擊工具欄中的“啟動(dòng)”按鈕進(jìn)行啟動(dòng)調(diào)試,如果能夠正常運(yùn)行,并顯示如圖1-14所示的窗體,則可以按Ctrl+S組合鍵保存整個(gè)項(xiàng)目文件。

圖1-19 【例1-2】窗體所對(duì)應(yīng)的源代碼

如果在設(shè)計(jì)窗體界面和輸入代碼過程中一直沒有存過盤,代碼編輯窗口頂部的文件名后面就會(huì)出現(xiàn)星號(hào),提示各位一定注意保存代碼文件。其實(shí)在啟動(dòng)調(diào)試程序(按F5鍵)時(shí),C#總是先保存程序,然后再調(diào)試運(yùn)行。

主站蜘蛛池模板: 陵水| 开原市| 沅江市| 淮滨县| 自贡市| 三穗县| 班戈县| 施秉县| 宜阳县| 进贤县| 玉环县| 高邑县| 隆子县| 盈江县| 靖远县| 本溪| 长武县| 秭归县| 肇州县| 乐都县| 姜堰市| 新源县| 新化县| 司法| 梁平县| 呼图壁县| 武功县| 社旗县| 连南| 永定县| 紫阳县| 牡丹江市| 大足县| 剑河县| 鄯善县| 原平市| 涪陵区| 贵州省| 通州区| 舒兰市| 徐州市|