版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(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)就能通過(guò)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è)主窗體,主窗體中分門(mén)別類(lèi)排列著各式各樣的組件。Windows窗體標(biāo)題欄菜單欄下拉式列表框控制按鈕視圖區(qū)狀態(tài)欄滾動(dòng)條Windows窗體上圖中我們展示了典型的Windows窗體程序,在主窗體中排列著菜單欄、工具欄、狀態(tài)欄、滾動(dòng)條等組件,因此窗體可以看成放置組件的容器(Container)。有些組件式可見(jiàn)的(比如按鈕、文本框、復(fù)選框),有些組件式不可見(jiàn)的(比如Timer組件),我們把可見(jiàn)的組件稱為控件(Control)。窗體單擊【文件】菜單,指向【新建】子菜單,然后選擇【項(xiàng)目】命令,彈出一個(gè)“新建項(xiàng)目”窗口。窗體在“項(xiàng)目類(lèi)型”欄中選擇“VisualC#”下的“Windows”選項(xiàng),然后在“模板”欄中選擇“Windows應(yīng)用程序”,最后再名稱欄中填入項(xiàng)目名稱“Chapter9”。單擊“確定”按鈕。這時(shí)在窗體編輯器中,出項(xiàng)了一個(gè)窗體,默認(rèn)名稱為Form1,我們將向窗體中添加控件,實(shí)現(xiàn)相應(yīng)的功能。窗體窗體工具欄屬性窗口窗體窗體看起來(lái)挺復(fù)雜,其實(shí)也只是一個(gè)類(lèi)而已,通過(guò)窗體類(lèi)的屬性和公有方法,可以方便的控制窗體的外觀和運(yùn)行方式。窗體將窗體Text屬性改為“你好窗體!”,然后按F5鍵,能夠看到下圖所示界面:窗體我們沒(méi)有編寫(xiě)一行代碼,就的到了一個(gè)Windows窗體程序,具備窗體的所有視覺(jué)要素,包括標(biāo)題欄、控制按鈕和邊框等。自動(dòng)生成的代碼窗體程序要比控制臺(tái)程序復(fù)雜很多,但是它也是由C#代碼生成的。窗體窗體文件開(kāi)頭用using指令引用了一系列命名空間,其中有一個(gè)非常重要的System.Windows.Forms命名空間,在這個(gè)空間中定義了一系列關(guān)于窗體和組件的類(lèi)。接著是我們自己定義的Chapter9命名空間,窗體程序也是被作為一個(gè)類(lèi)定義的,這個(gè)窗體類(lèi)的默認(rèn)名稱為Form1,我們可以在屬性窗口中更改窗體的名稱。我們定義Form1類(lèi)派生于.NET提供的Form類(lèi)。publicpartialclassForm1:Form窗體窗體類(lèi)Form1中值定義了一個(gè)構(gòu)造函數(shù),構(gòu)造函數(shù)中只有一行代碼,其他代碼在哪里?在Form1類(lèi)的定義中使用了partial關(guān)鍵字,該關(guān)鍵字允許把同一類(lèi)分別定義在多個(gè)源文件中。VisualStudio把需要人工編輯的代碼放在文件Form1.cs中,而自動(dòng)生成、不需要人工修改的代碼定義在另一個(gè)源文件Form.Designer.cs中。窗體Form.Designer.cs文件主要包含聲明控件和初始化窗體等代碼。InitializeComponent()方法中的代碼,用來(lái)初始化窗體和窗體中控件的。隨著我們不斷向窗體中添加控件,這個(gè)方法的內(nèi)容會(huì)越來(lái)越豐富。所有控制臺(tái)程序都從主函數(shù)Main()開(kāi)始執(zhí)行,窗體程序也一樣,也是從主函數(shù)Main()開(kāi)始執(zhí)行。窗體在“解決方案資源管理器”中雙擊Program.cs源文件,出現(xiàn)主函數(shù)代碼窗體Main()方法中使用了System.Windows.Forms命名空間中的Application類(lèi),該類(lèi)提供了一系列管理窗體的靜態(tài)方法,比如Run()方法啟動(dòng)程序、用Exit()方法退出程序等等。窗體小結(jié)編寫(xiě)Windows窗體程序就是編寫(xiě)一個(gè)繼承于Form的窗體類(lèi),然后運(yùn)行該類(lèi)的一個(gè)實(shí)例。按鈕(Button)我們開(kāi)始向窗體中添加控件。最簡(jiǎn)單的控件——按鈕從工具欄拖曳一個(gè)按鈕到窗體上,在屬性窗口把Name屬性改為“myButton”,把Text屬性改為“按鈕”。按鈕——屬性按鈕Button類(lèi)常見(jiàn)的屬性和事件類(lèi)型名稱說(shuō)明屬性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),打開(kāi)事件列表,雙擊”Click“事件,就會(huì)生成一個(gè)名為“myButton_Click()”的事件處理程序,用來(lái)處理Click事件。按鈕——事件處理程序事件處理程序名稱的默認(rèn)格式為“控件名稱_事件名稱”這種命名方式可以顯示出哪個(gè)控件發(fā)生了哪種事件,更容易閱讀和修改。添加事件處理程序按鈕自動(dòng)生成的代碼標(biāo)簽(Label)從工具欄拖曳一個(gè)標(biāo)簽到窗體上,在屬性窗口把Name屬性改為“askLabel”,把Text屬性改為“問(wèn):1+1=什么”。再?gòu)墓ぞ邫谕弦妨硪粋€(gè)標(biāo)簽到窗體上,在屬性窗口把Name屬性改為“askLabel”,把Text屬性改為“答:”。通過(guò)Font屬性修改文字大小。標(biāo)簽Label類(lèi)常見(jiàn)的屬性類(lèi)型名稱說(shuō)明屬性Name標(biāo)簽的名稱Text標(biāo)簽上顯示的文本Font文本字體標(biāo)簽改變標(biāo)簽文本文本框(TextBox)文本框用來(lái)顯示文本或接收用戶輸入的文本。添加“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類(lèi)常見(jiàn)的屬性和事件類(lèi)型名稱說(shuō)明屬性Name單選按鈕的名稱Text單選按鈕旁顯示的文本Checked單選按鈕是否被選中事件
CheckedChanged單選按鈕被選中時(shí)發(fā)生單選按鈕添加事件處理程序復(fù)選框(CheckBox)復(fù)選框提供若干個(gè)選項(xiàng),用戶可同時(shí)選擇多個(gè)選項(xiàng)。educationCheckBoxworkCheckBoxexperienceCheckBox復(fù)選框——屬性CheckBox類(lèi)常見(jiàn)的屬性和事件類(lèi)型名稱說(shuō)明屬性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屬性用來(lái)確定復(fù)選框的狀態(tài),當(dāng)無(wú)法確定復(fù)選框的狀態(tài)是Checked還是
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2030年中國(guó)外用止痛藥行業(yè)競(jìng)爭(zhēng)格局及投資價(jià)值研究報(bào)告
- 2024-2030年中國(guó)型煤(型焦)行業(yè)發(fā)展前景預(yù)測(cè)規(guī)劃研究報(bào)告
- 2024-2030年中國(guó)四功能折疊健身器產(chǎn)業(yè)未來(lái)發(fā)展趨勢(shì)及投資策略分析報(bào)告
- 2024-2030年中國(guó)印花涂料色漿市場(chǎng)運(yùn)行狀況及發(fā)展趨勢(shì)預(yù)測(cè)報(bào)告
- 梅河口康美職業(yè)技術(shù)學(xué)院《有限元分析與可靠性設(shè)計(jì)》2023-2024學(xué)年第一學(xué)期期末試卷
- 眉山藥科職業(yè)學(xué)院《小學(xué)道德與法治課程與教學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024年物業(yè)買(mǎi)賣(mài)合同范本:物業(yè)信息與交易條件
- 2024年度綠色建筑HSE施工與運(yùn)維服務(wù)合同2篇
- 微專(zhuān)題物質(zhì)的制備實(shí)驗(yàn)突破策略-2024高考化學(xué)一輪考點(diǎn)擊破
- 2024年標(biāo)準(zhǔn)專(zhuān)業(yè)施工承包協(xié)議文件版B版
- 道德與法治中考備考建議課件
- 財(cái)產(chǎn)保險(xiǎn)退保申請(qǐng)范文推薦6篇
- 食品工程原理課程設(shè)計(jì)
- YYT 0325-2022 一次性使用無(wú)菌導(dǎo)尿管
- 羊膜在眼科臨床中應(yīng)用課件
- (71)第十五章15.2.3整數(shù)指數(shù)冪1-負(fù)整數(shù)指數(shù)冪-導(dǎo)學(xué)案
- 初步設(shè)計(jì)方案詢價(jià)表
- 2022年江蘇省環(huán)保集團(tuán)有限公司招聘筆試題庫(kù)及答案解析
- 《汽車(chē)焊接技術(shù)》試卷期末理論考試含參考答案一套
- FMEA分析經(jīng)典案例【范本模板】
- 2023-2023年山東省學(xué)業(yè)水平考試英語(yǔ)試題及答案
評(píng)論
0/150
提交評(píng)論