




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Windows窗體編程(一)上海師范大學(xué)主講:於家背景如今,我們?cè)谑褂秒娔X的時(shí)候,只需要輕松點(diǎn)擊鼠標(biāo)就能通過Windows應(yīng)用程序在五彩繽紛、豐富多彩的信息世界中遨游。大多數(shù)Windows應(yīng)用程序都是窗體應(yīng)用程序,窗體應(yīng)用程序?yàn)橛脩籼峁┝擞押玫膱D形界面,深受廣大用戶歡迎。如何在VisualStudio中創(chuàng)建漂亮的圖形界面?窗體(Form)在Windows中,具有圖形用戶界面(GraphicsUserInterface,GUI)的程序稱為窗體程序,窗體程序由窗體(Form)和組件(Component)構(gòu)成,每個(gè)應(yīng)用程序都有一個(gè)主窗體,主窗體中分門別類排列著各式各樣的組件。Windows窗體標(biāo)題欄菜單欄下拉式列表框控制按鈕視圖區(qū)狀態(tài)欄滾動(dòng)條Windows窗體上圖中我們展示了典型的Windows窗體程序,在主窗體中排列著菜單欄、工具欄、狀態(tài)欄、滾動(dòng)條等組件,因此窗體可以看成放置組件的容器(Container)。有些組件式可見的(比如按鈕、文本框、復(fù)選框),有些組件式不可見的(比如Timer組件),我們把可見的組件稱為控件(Control)。窗體單擊【文件】菜單,指向【新建】子菜單,然后選擇【項(xiàng)目】命令,彈出一個(gè)“新建項(xiàng)目”窗口。窗體在“項(xiàng)目類型”欄中選擇“VisualC#”下的“Windows”選項(xiàng),然后在“模板”欄中選擇“Windows應(yīng)用程序”,最后再名稱欄中填入項(xiàng)目名稱“Chapter9”。單擊“確定”按鈕。這時(shí)在窗體編輯器中,出項(xiàng)了一個(gè)窗體,默認(rèn)名稱為Form1,我們將向窗體中添加控件,實(shí)現(xiàn)相應(yīng)的功能。窗體窗體工具欄屬性窗口窗體窗體看起來挺復(fù)雜,其實(shí)也只是一個(gè)類而已,通過窗體類的屬性和公有方法,可以方便的控制窗體的外觀和運(yùn)行方式。窗體將窗體Text屬性改為“你好窗體!”,然后按F5鍵,能夠看到下圖所示界面:窗體我們沒有編寫一行代碼,就的到了一個(gè)Windows窗體程序,具備窗體的所有視覺要素,包括標(biāo)題欄、控制按鈕和邊框等。自動(dòng)生成的代碼窗體程序要比控制臺(tái)程序復(fù)雜很多,但是它也是由C#代碼生成的。窗體窗體文件開頭用using指令引用了一系列命名空間,其中有一個(gè)非常重要的System.Windows.Forms命名空間,在這個(gè)空間中定義了一系列關(guān)于窗體和組件的類。接著是我們自己定義的Chapter9命名空間,窗體程序也是被作為一個(gè)類定義的,這個(gè)窗體類的默認(rèn)名稱為Form1,我們可以在屬性窗口中更改窗體的名稱。我們定義Form1類派生于.NET提供的Form類。publicpartialclassForm1:Form窗體窗體類Form1中值定義了一個(gè)構(gòu)造函數(shù),構(gòu)造函數(shù)中只有一行代碼,其他代碼在哪里?在Form1類的定義中使用了partial關(guān)鍵字,該關(guān)鍵字允許把同一類分別定義在多個(gè)源文件中。VisualStudio把需要人工編輯的代碼放在文件Form1.cs中,而自動(dòng)生成、不需要人工修改的代碼定義在另一個(gè)源文件Form.Designer.cs中。窗體Form.Designer.cs文件主要包含聲明控件和初始化窗體等代碼。InitializeComponent()方法中的代碼,用來初始化窗體和窗體中控件的。隨著我們不斷向窗體中添加控件,這個(gè)方法的內(nèi)容會(huì)越來越豐富。所有控制臺(tái)程序都從主函數(shù)Main()開始執(zhí)行,窗體程序也一樣,也是從主函數(shù)Main()開始執(zhí)行。窗體在“解決方案資源管理器”中雙擊Program.cs源文件,出現(xiàn)主函數(shù)代碼窗體Main()方法中使用了System.Windows.Forms命名空間中的Application類,該類提供了一系列管理窗體的靜態(tài)方法,比如Run()方法啟動(dòng)程序、用Exit()方法退出程序等等。窗體小結(jié)編寫Windows窗體程序就是編寫一個(gè)繼承于Form的窗體類,然后運(yùn)行該類的一個(gè)實(shí)例。按鈕(Button)我們開始向窗體中添加控件。最簡(jiǎn)單的控件——按鈕從工具欄拖曳一個(gè)按鈕到窗體上,在屬性窗口把Name屬性改為“myButton”,把Text屬性改為“按鈕”。按鈕——屬性按鈕Button類常見的屬性和事件類型名稱說明屬性Name按鈕的名稱Text按鈕上顯示的文本Image按鈕上顯示的圖標(biāo)事件Click單擊按鈕時(shí)發(fā)生按鈕——事件處理程序按鈕的作用是激發(fā)設(shè)定好的操作,所以當(dāng)單擊按鈕時(shí),程序應(yīng)該做出相應(yīng)的反應(yīng)。我們把“單擊‘稱為一種事件(Event),當(dāng)該事件發(fā)生時(shí),程序會(huì)調(diào)用相應(yīng)的事件處理程序。在屬性窗口中單擊事件圖標(biāo),打開事件列表,雙擊”Click“事件,就會(huì)生成一個(gè)名為“myButton_Click()”的事件處理程序,用來處理Click事件。按鈕——事件處理程序事件處理程序名稱的默認(rèn)格式為“控件名稱_事件名稱”這種命名方式可以顯示出哪個(gè)控件發(fā)生了哪種事件,更容易閱讀和修改。添加事件處理程序按鈕自動(dòng)生成的代碼標(biāo)簽(Label)從工具欄拖曳一個(gè)標(biāo)簽到窗體上,在屬性窗口把Name屬性改為“askLabel”,把Text屬性改為“問:1+1=什么”。再從工具欄拖曳另一個(gè)標(biāo)簽到窗體上,在屬性窗口把Name屬性改為“askLabel”,把Text屬性改為“答:”。通過Font屬性修改文字大小。標(biāo)簽Label類常見的屬性類型名稱說明屬性Name標(biāo)簽的名稱Text標(biāo)簽上顯示的文本Font文本字體標(biāo)簽改變標(biāo)簽文本文本框(TextBox)文本框用來顯示文本或接收用戶輸入的文本。添加“Windows窗體”新項(xiàng)目,然后在窗體上添加2個(gè)Label控件,把Text屬性分別設(shè)置為“用戶名:”和“密碼”。添加一個(gè)文本框(TextBox),name屬性設(shè)置為“usernameTextBox”再添加一個(gè)文本框(TextBox),name屬性設(shè)置為“passwordTextBox”,PasswordChar屬性設(shè)置為*再添加一個(gè)按鈕,Name屬性設(shè)置為“okButton”,Text屬性設(shè)置為“確定”。文本框密碼驗(yàn)證程序文本框響應(yīng)Tab鍵響應(yīng)Enter鍵在Form的屬性窗口中把AcceptButton屬性設(shè)為okButton。單選按鈕(RadioButton)單選按鈕為用戶提供若干個(gè)互相排斥的選項(xiàng),用戶一次只能選擇其中一個(gè)。單選按鈕——屬性RadioButton類常見的屬性和事件類型名稱說明屬性Name單選按鈕的名稱Text單選按鈕旁顯示的文本Checked單選按鈕是否被選中事件
CheckedChanged單選按鈕被選中時(shí)發(fā)生單選按鈕添加事件處理程序復(fù)選框(CheckBox)復(fù)選框提供若干個(gè)選項(xiàng),用戶可同時(shí)選擇多個(gè)選項(xiàng)。educationCheckBoxworkCheckBoxexperienceCheckBox復(fù)選框——屬性CheckBox類常見的屬性和事件類型名稱說明屬性Name復(fù)選框的名稱Text復(fù)選框旁顯示的文本Checked復(fù)選框是否被選中
CheckState復(fù)選框的狀態(tài),分Checked、Unchecked和Indeterminate三種事件CheckedChanged復(fù)選框被選中時(shí)發(fā)生(取消勾選也發(fā)生)
CheckeStateChanged當(dāng)CheckState屬性改變時(shí)發(fā)生復(fù)選框CheckState屬性用來確定復(fù)選框的狀態(tài),當(dāng)無法確定復(fù)選框的狀態(tài)是Checked還是
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025福建武夷山市供銷總公司招聘3人考前自測(cè)高頻考點(diǎn)模擬試題及答案詳解(新)
- 2025甘肅省平?jīng)鍪嗅轻紖^(qū)第一批公益性崗位工作人員招聘60人模擬試卷及答案詳解(奪冠)
- 2025河南濟(jì)源職業(yè)技術(shù)學(xué)院高層次人才引進(jìn)20人考前自測(cè)高頻考點(diǎn)模擬試題參考答案詳解
- 2025年乳山事業(yè)單位真題
- 2025年臨沂市羅莊區(qū)教育系統(tǒng)部分事業(yè)單位公開招聘教師(43名)考前自測(cè)高頻考點(diǎn)模擬試題及完整答案詳解一套
- 2025年海倫事業(yè)單位真題
- 2025廣西防城港市文旅集團(tuán)有限公司第2期公開招聘6人模擬試卷及1套參考答案詳解
- 2025北京師范大學(xué)政府管理學(xué)院校友與培訓(xùn)服務(wù)崗招聘1人考前自測(cè)高頻考點(diǎn)模擬試題有答案詳解
- 2025年南安市法院系統(tǒng)招聘真題
- 2025福建龍巖市上杭縣文化旅游發(fā)展有限公司(上杭古田建設(shè)發(fā)展有限公司)所屬企業(yè)招聘人員擬聘用人選考前自測(cè)高頻考點(diǎn)模擬試題及答案詳解(必刷)
- JG/T 3064-1999鋼纖維混凝土
- 2024年安徽國(guó)元農(nóng)業(yè)保險(xiǎn)股份有限公司招聘筆試真題
- 素描靜物構(gòu)圖試題及答案
- 診所房屋租賃協(xié)議書
- 中國(guó)糖尿病合并慢性腎臟病臨床管理共識(shí) 課件
- 2025年中國(guó)郵政集團(tuán)工作人員招聘考試筆試試題(含答案)
- 企業(yè)數(shù)字化轉(zhuǎn)型的五大關(guān)鍵要素
- 中秋物品采購合同7篇
- AI賦能職業(yè)教育傳媒專業(yè)人才培養(yǎng)的實(shí)踐路徑探索
- 年產(chǎn)3萬噸生物基PTT聚合項(xiàng)目環(huán)評(píng)資料環(huán)境影響
- 雞蛋分揀培訓(xùn)課件
評(píng)論
0/150
提交評(píng)論