第5章 Windows窗體界面設計(1).ppt_第1頁
第5章 Windows窗體界面設計(1).ppt_第2頁
第5章 Windows窗體界面設計(1).ppt_第3頁
第5章 Windows窗體界面設計(1).ppt_第4頁
第5章 Windows窗體界面設計(1).ppt_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第5章 Windows窗體界面設計,在項目開發(fā)中,界面設計是一個非常重要的方面,因為它是獲取用戶操作和向用戶提供相關功能的主要手段。好的界面可以讓使用者容易掌握、賞心悅目,把操作看做是一種享受而不是負擔。VS2005提供了豐富的控件,大大簡化了界面設計過程。本章主要介紹如何使用這些控件 。,操作技巧 : (1)凡是通過設計界面添加的事件,要想使代碼不再與某個事件關聯(lián),應該在設計界面下通過屬性窗口下的雷電符號完成。這是因為自動生成的代碼是單獨保存在另一個文件中的,這樣做的目的是為了讓其自動修改生成的代碼。 如果忘記了在設計模式下操作,而是直接在代碼編輯模式下刪除了關聯(lián)的事件及其代碼,或者修改了事

2、件名稱,由于系統(tǒng)不會自動刪除或修改生成的代碼中對應事件的事件句柄,因此仍然需要切換到設計模式,并選中要處理的控件,然后單擊屬性窗口中的雷電符號,在對應的事件中重新處理一遍,否則會引起編譯錯誤。 (2)如果希望控制設計窗體中各種控件響應鍵的順序,應該通過主菜單視圖下的Tab鍵順序操作,操作完成后,再選擇視圖Tab鍵順序命令返回到正常設計界面模式下。 (3)如果希望對變量換名,不應該在代碼編輯模式下一個個修改,而應該先選中該變量,然后單擊鼠標右鍵,選擇重構(gòu) 重命名命令完成換名操作。 (4)對設計窗體中各控件的位置布局時,應該充分利用主菜單下的快捷按鈕,這樣可以節(jié)省很多布局時間,從而大大提高設計效率

3、。,5.1 鼠標事件與鍵盤事件 Windows窗體應用程序的設計是基于事件驅(qū)動的。事件是指由系統(tǒng)事先設定的、能被控件識別和響應的動作,例如:單擊鼠標、按下某個鍵等。事件驅(qū)動指程序不是完全按照代碼文件中排列的順序從上到下依次執(zhí)行,而是根據(jù)用戶操作觸發(fā)相應的事件。 一個控件可以響應多個事件,設計Windows應用程序的很多工作就是為各個控件編寫需要的事件代碼,但一般來說只需要對必要的事件代碼編寫。在程序運行時由控件識別這些事件,然后去執(zhí)行對應的代碼。沒有編寫代碼的事件是不會響應任何操作的。 在VS2005中,每一個控件都有對應的若干事件,不同的控件所具有的事件也不盡相同。但是鼠標事件和鍵盤事件是絕

4、大多數(shù)控件都有的兩大類事件。常用的鼠標事件有鼠標單擊、雙擊、鼠標進入控件區(qū)域、懸停于控件區(qū)域和離開控件區(qū)域等。常用的鍵盤事件有某個按鍵的按下、釋放等。表5-1列出了大多數(shù)控件常用的鼠標和鍵盤事件。,表5-1 鼠標和鍵盤常用事件,例5-1 演示鼠標和鍵盤事件的觸發(fā)條件,觸發(fā)順序,并顯示各個事件所傳遞的參數(shù)內(nèi)容。 操作步驟:,單擊開始程序 Microsoft Visual Studio 2005 Microsoft Visual Studio 2005命令,啟動Microsoft Visual Studio 2005集成編譯環(huán)境,如圖所示:,在下圖中,雙擊“創(chuàng)建 項目(P) ” 命令,如圖圈紅色部

5、分。,輸入 項目 名稱,在隨后出現(xiàn)的圖形中,在“項目類型”列表中選擇“Visual C#”;在“模板(T):”中選擇“Windows應用程序”;在“名稱”右邊的文本框中輸入本例要求的文件名: EventExample ;在“位置”右邊的文本框中輸入文件所在的路徑,作者將本例存放在“D盤”下的文件夾中,即直接在“位置”右邊的文本框中輸入“D:”或者“E:”;“解決方案名稱”右邊文本框不用輸入內(nèi)容,它會自動與“名稱”右邊文本框中的內(nèi)容一樣。,單擊確定按鈕后,出現(xiàn),Visual Studio 2005集成編譯環(huán)境工具界面。選擇菜單視圖下的“解決方案資源管理器”命令,如下圖所示。,出現(xiàn)“解決方案資源管

6、理器”界面,如下圖圈紅色部分所示。,將鼠標指向“Form1.cs”,單擊右鍵,選擇“重命名”命令。,將“Form1”改為“FormEvent”,擴展名不改。修改后按“回車”鍵。,在出現(xiàn)的對話框中,選擇“是(Y)”按鈕。如圖中紅色部分。,單擊“是(Y)”按鈕后,出現(xiàn)如下圖界面。圈紅色部分已修改。,(2)調(diào)整窗體到適當大??;設置Text屬性為“事件驅(qū)動的界面設計”,作為窗體標題欄顯示的文本。注意:要先單擊“FormEvent.cs設計”小窗口標題,再設置該窗體的Text屬性,分別如圖兩處圈紅色部分。,向窗體添加兩個Label控件、一個Button控件和一個TextBox控件,各控件的布局及其相關屬

7、性如圖所示。,下2圖所示是標簽label1的形成過程。即從工具箱上將Label控件拖到窗體上的適當位置,松開鼠標。在屬性窗口,將其Text屬性修改為“這里顯示信息”。,下3圖所示是標簽label2的形成過程。即從工具箱上將Label控件拖到窗體上的適當位置,松開鼠標。在屬性窗口,將其Name屬性修改為“l(fā)abelDisplay”。將其Text屬性設置為“按鈕功能提示!”,將其Visible屬性設置為“false”。,下圖所示是文本框的形成過程。即從工具箱上將TextBox控件拖到窗體上的適當位置,松開鼠標。,下2圖所示是命令按鈕的形成過程。即從工具箱上將Button控件拖到窗體上的適當位置,松

8、開鼠標。將其Name屬性改為“buttonOk”,將其Text屬性改為“提交按鈕”.,(3)選中textBox1控件,按鍵顯示其屬性,然后單擊屬性窗口的雷電符號,在事件列表中雙擊KeyDown,系統(tǒng)自動跳轉(zhuǎn)到“FormEvent.cs”的代碼頁中,并創(chuàng)建相應的事件代碼框架.,在其中直接添加如下代碼(紅色部分語句不用輸入,系統(tǒng)已經(jīng)提供),private void textBox1_KeyDown(object sender, KeyEventArgs e) if (e.KeyCode = Keys.UP) MessageBox.Show(您現(xiàn)在按下的是向上箭頭!); if (e.KeyCode

9、= Keys.F1) MessageBox.Show(您現(xiàn)在按下的是功能鍵!是否需要幫助?); if (e.Alt = true ,if (e.Control = true) switch (e.KeyCode) case Keys.A: MessageBox.Show(您現(xiàn)在按下的是是組合鍵Ctrl+A!); break; case Keys.B: MessageBox.Show(您現(xiàn)在按下的是是組合鍵Ctrl+B!); break; ,用類似的方法添加buttonOK的Click事件、MouseEnter事件和MouseLeave事件代碼:,private void buttonOK_Cl

10、ick(object sender, EventArgs e) label1.Text = textBox1.Text; private void buttonOK_MouseEnter(object sender, EventArgs e) labelDisplay.Visible = true; labelDisplay.Text = 按下按鈕將文本框中的內(nèi)容顯示于下面!; private void buttonOK_MouseLeave(object sender, EventArgs e) labelDisplay.Text = ; ,(5)按鍵編譯并執(zhí)行該應用程序。,5.1 Wind

11、ows窗體基本控件,在VS2005提供的控件中,有一些控件是經(jīng)常使用的,這一節(jié)主要介紹常用的基本控件及其使用方法和技巧。 5.2.1 控件中常用的屬性和方法 每個控件都有自己的屬性、方法以及響應鍵盤和鼠標操作的事件。學習控件的關鍵是要注意這些屬性、方法和事件的靈活應用。對大部分控件來說,有一些常用的屬性和事件都是相同的,為避免介紹的內(nèi)容重復,這里首先將大部分控件共有的屬性抽取出來做一些簡單介紹。 1.常用基本屬性 屬性是指控件的各種性質(zhì),例如:控件的大小、在窗體中的位置等。屬性一般都有默認值,也就是說,在實際編程時即使不設置任何屬性值,控件也是可以使用的,只有默認值不能滿足要求時才需要更改。,

12、表5-2 列出了大多數(shù)控件都有的屬性名稱及含義。,表5-2 控件常用屬性,2、常用方法 每個控件都有很多方法。屬性指控件具有的性質(zhì),方法則指控件要完成的功能。方法是通過代碼來調(diào)用的。例如:Focus方法(獲得焦點)、ToString方法(轉(zhuǎn)換為字符串)等。,5.2.2 TextBox控件 TextBox控件的主要作用是允許用戶在應用程序中輸入或編輯文本,當然也可以將控件的只讀屬性設為true,用做顯示文本,而不允許用戶編輯文本框中所顯示的內(nèi)容。在TextBox中編輯的文本可以是單行的,也可以是多行的,還可以設置為密碼字符屏蔽狀態(tài)作為密碼輸入框。,1、常用的基本屬性 (1)Text屬性:用于獲取

13、或設置文本框中的內(nèi)容。 (2)MaxLength屬性:控制用戶可以在文本框控件中輸入字符的最大數(shù)目,默認值為最大值,即32767個字符。注意:由于使用的是Unicode字符,所以對中文和英文的字符計數(shù)方法是相同的,即一個英文字符的長度為1,一個漢字的長度也是1。 (3)Multiline屬性:決定文本框控件是否可以包含多行內(nèi)容。當該屬性為false時,TextBox的Width屬性可以更改,但Height屬性是固定的,即只允許輸入單行文本;當該屬性值為true時,TextBox的Width屬性和Height屬性均可更改,也可直接由鼠標拉動改變文本框的大小,以支持多行文本的輸入和顯示。 (4)P

14、asswordChar 屬性:用于指定作為密碼輸入文本框,在輸入字符時文本框中所要顯示代替密碼的屏蔽字符。如果設置了PasswordChar 屬性,即指定了某一字符作為密碼屏蔽字符,則輸入的任何字符都顯示為該符號。注意:TextBox控件還有一個UseSystemPasswordChar屬性,若該屬性為true,則無論在PasswordChar屬性中指定了哪一個字符,最終在TextBox中的文本只能以系統(tǒng)默認的“*”來顯示。,2、常用的基本事件 (1)Enter事件:當前文本框為活動狀態(tài)時觸發(fā)的操作。注意:Enter事件和MouseEnter事件不同,MouseEnter事件是表示當鼠標進入當

15、前文本框區(qū)域內(nèi)時觸發(fā)操作。 (2)TextChanged事件:文本框中的當前內(nèi)容(Text屬性值)更改時觸發(fā)的操作。,例5-2簡單的用戶信息錄入界面示例。,(1)新建一個名為TextBoxExample的Windows應用程序項目,在解決方案資源管理器中將Form.cs改名為FormTextBox.cs,系統(tǒng)會自動彈出對話框確認是否重命名所有引用項,選擇是 ,則窗體的Name屬性自動更改為“FormTextBox”。 (2)選中Form窗體,設置Size屬性為Width=300,Height=300,或者可以直接使用鼠標拖動窗體窗體右下角調(diào)整到適當大?。辉O置Text屬性為“用戶信息錄入”,作為

16、窗體標題欄顯示的文本;將BackColor屬性選擇為Web的“LightGray”。,(3)向Form窗體中添加4個Label控件、3個TextBox控件和一個Button控件,窗體中各控件的屬性、布局及顯示效果如圖5-2所示。,(4)選中textBoxUser,在屬性窗口列表中雙擊MouseEnter事件,系統(tǒng)自動跳轉(zhuǎn)到FormTextBox.cs的代碼頁中,并創(chuàng)建相應的代碼框架,只需在其中直接添加如下的功能代碼即可:或者直接在FormTextBox.cs代碼頁的FormTextBox類中添加如下代碼,并將其事件名“textBoxUser_MouseEnter”添加到textBoxUser控

17、件事件列表MouseEnter事件后的空白處。 private void textBoxUser_MouseEnter(object sender, EventArgs e) textBoxUser.Text = ; ,(5)用同樣的方法添加textBoxPassword和textBoxInformation的TextChanged事件代碼。 private void textBoxPassword_TextChanged(object sender, EventArgs e) textBoxUser.ReadOnly = true; private void textBoxInformation_TextChanged(object sender, EventArgs e) buttonOK.ForeColor = System.Drawing.Color.Red; buttonOK.Size = new System.Drawing.Size(100, 50); ,(6)添加buttonOK的Click事件代碼,用于顯示用戶輸入的信息。 private void buttonOK_Click(obj

溫馨提示

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

評論

0/150

提交評論