第九章Windows窗體編程(一)_第1頁
第九章Windows窗體編程(一)_第2頁
第九章Windows窗體編程(一)_第3頁
第九章Windows窗體編程(一)_第4頁
第九章Windows窗體編程(一)_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

Windows窗體編程(一)上海師范大學(xué)主講:於家背景如今,我們在使用電腦的時候,只需要輕松點擊鼠標(biāo)就能通過Windows應(yīng)用程序在五彩繽紛、豐富多彩的信息世界中遨游。大多數(shù)Windows應(yīng)用程序都是窗體應(yīng)用程序,窗體應(yīng)用程序為用戶提供了友好的圖形界面,深受廣大用戶歡迎。如何在VisualStudio中創(chuàng)建漂亮的圖形界面?窗體(Form)在Windows中,具有圖形用戶界面(GraphicsUserInterface,GUI)的程序稱為窗體程序,窗體程序由窗體(Form)和組件(Component)構(gòu)成,每個應(yīng)用程序都有一個主窗體,主窗體中分門別類排列著各式各樣的組件。Windows窗體標(biāo)題欄菜單欄下拉式列表框控制按鈕視圖區(qū)狀態(tài)欄滾動條Windows窗體上圖中我們展示了典型的Windows窗體程序,在主窗體中排列著菜單欄、工具欄、狀態(tài)欄、滾動條等組件,因此窗體可以看成放置組件的容器(Container)。有些組件式可見的(比如按鈕、文本框、復(fù)選框),有些組件式不可見的(比如Timer組件),我們把可見的組件稱為控件(Control)。窗體單擊【文件】菜單,指向【新建】子菜單,然后選擇【項目】命令,彈出一個“新建項目”窗口。窗體在“項目類型”欄中選擇“VisualC#”下的“Windows”選項,然后在“模板”欄中選擇“Windows應(yīng)用程序”,最后再名稱欄中填入項目名稱“Chapter9”。單擊“確定”按鈕。這時在窗體編輯器中,出項了一個窗體,默認(rèn)名稱為Form1,我們將向窗體中添加控件,實現(xiàn)相應(yīng)的功能。窗體窗體工具欄屬性窗口窗體窗體看起來挺復(fù)雜,其實也只是一個類而已,通過窗體類的屬性和公有方法,可以方便的控制窗體的外觀和運行方式。窗體將窗體Text屬性改為“你好窗體!”,然后按F5鍵,能夠看到下圖所示界面:窗體我們沒有編寫一行代碼,就的到了一個Windows窗體程序,具備窗體的所有視覺要素,包括標(biāo)題欄、控制按鈕和邊框等。自動生成的代碼窗體程序要比控制臺程序復(fù)雜很多,但是它也是由C#代碼生成的。窗體窗體文件開頭用using指令引用了一系列命名空間,其中有一個非常重要的System.Windows.Forms命名空間,在這個空間中定義了一系列關(guān)于窗體和組件的類。接著是我們自己定義的Chapter9命名空間,窗體程序也是被作為一個類定義的,這個窗體類的默認(rèn)名稱為Form1,我們可以在屬性窗口中更改窗體的名稱。我們定義Form1類派生于.NET提供的Form類。publicpartialclassForm1:Form窗體窗體類Form1中值定義了一個構(gòu)造函數(shù),構(gòu)造函數(shù)中只有一行代碼,其他代碼在哪里?在Form1類的定義中使用了partial關(guān)鍵字,該關(guān)鍵字允許把同一類分別定義在多個源文件中。VisualStudio把需要人工編輯的代碼放在文件Form1.cs中,而自動生成、不需要人工修改的代碼定義在另一個源文件Form.Designer.cs中。窗體Form.Designer.cs文件主要包含聲明控件和初始化窗體等代碼。InitializeComponent()方法中的代碼,用來初始化窗體和窗體中控件的。隨著我們不斷向窗體中添加控件,這個方法的內(nèi)容會越來越豐富。所有控制臺程序都從主函數(shù)Main()開始執(zhí)行,窗體程序也一樣,也是從主函數(shù)Main()開始執(zhí)行。窗體在“解決方案資源管理器”中雙擊Program.cs源文件,出現(xiàn)主函數(shù)代碼窗體Main()方法中使用了System.Windows.Forms命名空間中的Application類,該類提供了一系列管理窗體的靜態(tài)方法,比如Run()方法啟動程序、用Exit()方法退出程序等等。窗體小結(jié)編寫Windows窗體程序就是編寫一個繼承于Form的窗體類,然后運行該類的一個實例。按鈕(Button)我們開始向窗體中添加控件。最簡單的控件——按鈕從工具欄拖曳一個按鈕到窗體上,在屬性窗口把Name屬性改為“myButton”,把Text屬性改為“按鈕”。按鈕——屬性按鈕Button類常見的屬性和事件類型名稱說明屬性Name按鈕的名稱Text按鈕上顯示的文本Image按鈕上顯示的圖標(biāo)事件Click單擊按鈕時發(fā)生按鈕——事件處理程序按鈕的作用是激發(fā)設(shè)定好的操作,所以當(dāng)單擊按鈕時,程序應(yīng)該做出相應(yīng)的反應(yīng)。我們把“單擊‘稱為一種事件(Event),當(dāng)該事件發(fā)生時,程序會調(diào)用相應(yīng)的事件處理程序。在屬性窗口中單擊事件圖標(biāo),打開事件列表,雙擊”Click“事件,就會生成一個名為“myButton_Click()”的事件處理程序,用來處理Click事件。按鈕——事件處理程序事件處理程序名稱的默認(rèn)格式為“控件名稱_事件名稱”這種命名方式可以顯示出哪個控件發(fā)生了哪種事件,更容易閱讀和修改。添加事件處理程序按鈕自動生成的代碼標(biāo)簽(Label)從工具欄拖曳一個標(biāo)簽到窗體上,在屬性窗口把Name屬性改為“askLabel”,把Text屬性改為“問:1+1=什么”。再從工具欄拖曳另一個標(biāo)簽到窗體上,在屬性窗口把Name屬性改為“askLabel”,把Text屬性改為“答:”。通過Font屬性修改文字大小。標(biāo)簽Label類常見的屬性類型名稱說明屬性Name標(biāo)簽的名稱Text標(biāo)簽上顯示的文本Font文本字體標(biāo)簽改變標(biāo)簽文本文本框(TextBox)文本框用來顯示文本或接收用戶輸入的文本。添加“Windows窗體”新項目,然后在窗體上添加2個Label控件,把Text屬性分別設(shè)置為“用戶名:”和“密碼”。添加一個文本框(TextBox),name屬性設(shè)置為“usernameTextBox”再添加一個文本框(TextBox),name屬性設(shè)置為“passwordTextBox”,PasswordChar屬性設(shè)置為*再添加一個按鈕,Name屬性設(shè)置為“okButton”,Text屬性設(shè)置為“確定”。文本框密碼驗證程序文本框響應(yīng)Tab鍵響應(yīng)Enter鍵在Form的屬性窗口中把AcceptButton屬性設(shè)為okButton。單選按鈕(RadioButton)單選按鈕為用戶提供若干個互相排斥的選項,用戶一次只能選擇其中一個。單選按鈕——屬性RadioButton類常見的屬性和事件類型名稱說明屬性Name單選按鈕的名稱Text單選按鈕旁顯示的文本Checked單選按鈕是否被選中事件

CheckedChanged單選按鈕被選中時發(fā)生單選按鈕添加事件處理程序復(fù)選框(CheckBox)復(fù)選框提供若干個選項,用戶可同時選擇多個選項。educationCheckBoxworkCheckBoxexperienceCheckBox復(fù)選框——屬性CheckBox類常見的屬性和事件類型名稱說明屬性Name復(fù)選框的名稱Text復(fù)選框旁顯示的文本Checked復(fù)選框是否被選中

CheckState復(fù)選框的狀態(tài),分Checked、Unchecked和Indeterminate三種事件CheckedChanged復(fù)選框被選中時發(fā)生(取消勾選也發(fā)生)

CheckeStateChanged當(dāng)CheckState屬性改變時發(fā)生復(fù)選框CheckState屬性用來確定復(fù)選框的狀態(tài),當(dāng)無法確定復(fù)選框的狀態(tài)是Checked還是

溫馨提示

  • 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

提交評論