版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第6章 窗體、控件和組件6.1 窗體與對話框6.2 控件共有的基本操作6.3 容器類控件和組件6.4 文本操作類控件6.5 選擇操作類控件6.6 圖像操作類控件和組件6.7 菜單、工具欄與狀態(tài)欄6.8 視圖操作類控件6.9 其他常用控件6.1 窗體與對話框1、窗體應(yīng)用程序的啟動和停止使用Application類提供的靜態(tài)方法來啟動、停止應(yīng)用程序。Application類提供的方法:Run方法:用于在當(dāng)前線程上啟動應(yīng)用程序消息循環(huán),并顯示窗體。Exit方法:用于停止消息循環(huán)。DoEvents方法:用于在程序處于某個循環(huán)中時處理消息。6.1.2 窗體的創(chuàng)建、顯示與隱藏1、如何在代碼中打開一個新窗體
2、 Form2 fm = new Form2(); fm.Show(); /或者fm.ShowDialog();2、如何在代碼中關(guān)閉一個窗體 用法1:fm.Close(); 用法2:this.Close(); 用法3:Application.OpenFormsForm1.Close();3、如何隱藏一個打開的窗體 (1)隱藏當(dāng)前窗體:this.Hide(); (2)隱藏其它窗體:Application.OpenFormsForm1.Hide();4、如何重新顯示隱藏的窗體 (1)顯示當(dāng)前窗體:this.Show(); (2)顯示其它窗體:Application.OpenFormsForm1.Sh
3、ow();6.1.2 窗體的創(chuàng)建、顯示與隱藏【例6-1】演示窗體的基本用法以及如何顯示和關(guān)閉窗體。部分運行效果如圖:6.1.3 窗體常用的屬性常用屬性:Name:獲取或設(shè)置窗體的名稱,代碼中通過該屬性來訪問窗體。BackColor:獲取或設(shè)置窗體的背景色。ForeColor:獲取或設(shè)置窗體上文本的前景色。Location:獲取或設(shè)置以屏幕坐標表示的代表窗體左上角的坐標位置。Size:指定窗體的高度和寬度。Text:設(shè)置控件上所要顯示的文本,如標簽、按鈕和復(fù)選框等控件上的文字。窗體常用的屬性和外觀控制StartPostion:獲取或設(shè)置運行時窗體的起始位置,一般在構(gòu)造函數(shù)中設(shè)置此屬性。例如:th
4、is.StartPosition = FormStartPosition.Manual;this. Location = new Point(screenX, screenY);通過設(shè)置窗體的【ControlBox】屬性為“True”或者“False”,可以控制是否顯示最大化、最小化以及關(guān)閉按鈕。除此之外,還可以通過設(shè)置窗體的【FormBorderStyle】屬性控制窗體的邊框樣式。6.1.4 窗體位置及外觀控制【例6-2】演示如何控制窗體的顯示位置以及如何控制窗體的外觀形狀。設(shè)計視圖如下:運行效果如下:6.1.5 單文檔窗體和多文檔窗體Windows的窗體分為單文檔窗體和多文檔窗體。多文檔窗
5、體(Multi-Document Interface, MDI)是指在一個主窗體中可以包含一個或多個子窗體的窗體,主窗體稱為MDI父窗體,子窗體稱為MDI子窗體。6.1.5 單文檔窗體和多文檔窗體【例6-3】演示MDI窗體的基本用法以及如何顯示和關(guān)閉子窗體。6.1.6 對話框?qū)υ捒蛴糜谂c用戶交互和檢索信息。對話框分為標準對話框和自定義對話框。1MessageBox對話框 調(diào)用MessageBox類的靜態(tài)Show方法來顯示消息對話框。返回值是MessageBoxResult枚舉的值,其中每個值都等同于消息對話框可以顯示的按鈕之一。 Show方法提供了多種重載形式,常用的重載形式有:public
6、static DialogResult Show(string text)public static DialogResult Show(string text, string caption)public static DialogResult Show(string text, string caption, MessageBoxButtons buttons, MessageBoxIcon icon)6.1.6 對話框其中:Text:在消息框中顯示的文本。caption:在消息框的標題欄中顯示的文本。buttons:MessageBoxButtons枚舉值之一,指定在消息框中顯示哪些按鈕
7、。枚舉值有OK、OKCancel、YesNoCancel和YesNo。icon:MessageBoxIcon枚舉值之一,指定在消息框中顯示哪個圖標。枚舉值有None(不顯示圖標)、Hand(手形)、Question(問號)、Exclamation(感嘆號)、Asterisk(星號)、Stop(停止)、Error(錯誤)、Warning(警告)和Information(信息)。Show方法的返回值是DialogResult枚舉值之一。DialogResult枚舉值有:None(消息框未返回值)、OK、Cancel、Yes和No。6.1.6 對話框6.1.6 對話框2.ColorDialog:提供
8、顏色選擇。 方法:ShowDialog() 返回值:DialogResult類型3.FontDialog:提供字體選擇。 方法:ShowDialog() 返回值:DialogResult類型用法如下:ColorDialog colorDlg = new ColorDialog( );if (colorDlg.ShowDialog( ) = DialogResult.OK) textBox1.ForeColor = colorDlg.Color; 6.1.6 對話框自定義窗體對話框的設(shè)計方法與設(shè)計一般窗體基本相同,不同之處是還要對自定義窗體對話框作如下處理:將窗體的【FormBorderStyl
9、e】屬性更改為“FixedDialog”。將窗體的【MaximizeBox】屬性、【MinimizeBox】屬性和【ControlBox】屬性設(shè)置為“False”。在窗體上放一個“確定”按鈕,一個“取消”按鈕。然后將窗體的【AcceptButton】屬性設(shè)置為“確定”按鈕,【CancelButton】屬性設(shè)置為“取消”按鈕。在按鈕事件中,設(shè)置DialogResult類型的返回值,以便讓對話框隱藏起來。6.1.6 對話框【例6-4】自定義窗體對話框的用法。 設(shè)計視圖如下:運行效果如下:6.2 控件共有的基本操作6.2.1 控件中常用的屬性和方法1.常用基本屬性 除了書上講的屬性外,注意以下屬性的
10、用法:1) (Name):指定控件的名稱,它是控件在當(dāng)前應(yīng)用程序中的唯一標識,代碼通過該屬性來訪問控件2) Enabled:決定控件是否可用,取值為true時可用,取值為false時不可用3)Anchor屬性:保持控件與邊框的距離不變4)Dock屬性:讓控件始終緊靠邊框6.2.1 控件中常用的屬性和方法2.將窗體中控件的背景色設(shè)置為“Transparent”,則該控件相對于其父容器是透明的?!纠?-5】將圖像和文字疊加在同一幅背景圖上,讓其看起來像是一幅圖。未設(shè)置BackColor屬性時的設(shè)計界面 設(shè)置BackColor屬性后的界面效果6.2.1 控件中常用的屬性和方法3.按住鍵同時選中多個控
11、件,然后利用“布局”快捷工具欄中的快捷方式可以快速讓各控件對齊。4.利用布局工具欄中的“鍵順序”按鈕,可以在設(shè)計界面下調(diào)整焦點順序。6.2.2 控件的錨定和???Anchor屬性【Anchor】屬性定義控件的定位點位置。當(dāng)控件錨定到某個窗體時,如果用戶調(diào)整該窗體的大小,該控件將維持它與定位點位置之間的距離不變。2. Dock屬性【Dock】屬性的用途是使控件與窗體邊緣對齊。此屬性指定控件在窗體中的駐留位置?!綝ock】屬性設(shè)置為下列值:Left??康酱绑w的左側(cè)。Right??康酱绑w的右側(cè)。Top停靠到窗體的頂部。Bottom??康酱绑w底部。Fill占據(jù)窗體中的所有剩余空間。None不在任何位置
12、???,它顯示在由Location屬性指定的位置。6.2.3 常用的鼠標事件和鍵盤事件1.鼠標事件Click 單擊鼠標左鍵時觸發(fā)MouseDoubleClick 雙擊鼠標左鍵時觸發(fā)MouseEnter 鼠標進入控件可見區(qū)域時觸發(fā)MouseMove 鼠標在控件區(qū)域內(nèi)移動時觸發(fā)MouseLeave 鼠標離開控件可見區(qū)域時觸發(fā)2.鍵盤事件KeyDown 按下鍵盤上某個鍵時觸發(fā)KeyUp 釋放鍵盤上的按鍵時觸發(fā)KeyPress 在KeyDown之后KeyUp之前觸發(fā),非字符鍵不會觸發(fā)該事件。6.2.3 常用的鼠標事件和鍵盤事件【例6-6】演示鼠標和鍵盤事件的觸發(fā)條件,觸發(fā)順序,并顯示各個事件所傳遞的參數(shù)
13、內(nèi)容。設(shè)計界面如下:6.3 容器類控件和常用控件1、分組控件 Panel控件和GroupBox控件用于對不同的控件進行分組。 Panel控件不顯示標題但可以有滾動條,而GroupBox可顯示標題,不顯示滾動條。2、工具提示控件(ToolTip) ToolTip組件用于在用戶指向控件時顯示相應(yīng)的提示信息。3、錯誤提示組件(ErrorProvider) ErrorProvider組件可以對窗體或控件上的用戶輸入進行驗證。4、Timer組件:主要用于設(shè)置某個時間間隔,并在每次到達設(shè)置的時間間隔時,觸發(fā)指定的事件。該組件常用的屬性是【Enabled】屬性和【Interval】屬性。Timer控件【例6
14、-7】利用Timer組件和Label控件,在窗體上方顯示類似電影字幕的不停向上滾動的文本,并在窗體下方顯示一個簡單的時鐘信息。左圖為設(shè)計界面,右圖為運行效果。6.4 文本類操作控件標簽類控件(Label、LinkLabel)操作控件包括:1、Label:用于提供控件或窗體的描述性文字,以便為用戶提供相應(yīng)的信息。 常用屬性:Text屬性。2、LinkLabel: 與Label控件的作用非常相似,不同的是LinkLabel控件以超鏈接的形式顯示文本信息。 當(dāng)用戶單擊LinkLabel控件時,會觸發(fā)LinkClicked事件。可以在LinkClicked事件中編寫代碼讓其鏈接到指定的網(wǎng)頁。6.4.2
15、 文本操作類控件1.文本框(TextBox)控件常用的基本屬性1) Text:表示文本框中顯示的內(nèi)容。2) MaxLength:表示用戶可以在文本框控件中最多鍵入的字符數(shù),默認值為32767個字符。注意,由于使用的是Unicode字符,所以對中文和英文的字符計數(shù)方法是相同的,即一個英文字符的長度為1,一個漢字字符的長度也是1。3) Multiline:表示是否可以包含多行內(nèi)容。4) PasswordChar:用于指定在屏蔽TextBox控件中輸入的密碼字符時所要使用的符號。2. TextBox控件常用的基本事件 TextChanged:表示文本框中的當(dāng)前內(nèi)容(Text屬性值)更改時觸發(fā)的操作。
16、6.4.2 文本操作類控件2.MaskedTextBox:掩碼文本框。它的主要作用是控制輸入文本的格式。如果輸入的內(nèi)容不滿足規(guī)定的格式,則拒絕用戶輸入。 常用屬性【Mask】屬性,用于設(shè)置當(dāng)前掩碼文本框輸入字符的格式。3.RichTextBox:主要功能是進行高級文本輸入和編輯,作為一般的文本輸入,其屬性、事件與TextBox控件的屬性、事件大致相同。6.4.2 文本操作類控件【例6-8】演示TextBox控件、ToolTip組件和ErrorProvider組件的用法。設(shè)計界面如下:6.5 選擇類控件1、列表類控件(ListBox控件、ComboBox控件) ListBox(列表框)控件和Co
17、mboBox(下拉框)控件均用于顯示一組條目,以便操作者從中選擇一條或者多條信息,并對其進行相應(yīng)的處理。這兩個控件常用的屬性和方法ItemsSelectedIndex、SelectedItemSelectedItemsItems.AddItems.AddRangeItems.Remove、Items.RemoveAtItems.Clear6.5.1 選擇類控件1、ListBox控件的其他屬性MutiColumn屬性:決定是否可以以多列的形式顯示各項。SelectionMode屬性:選擇列表項的方式。HorizontalScrollbar屬性:獲取或設(shè)置一個值(true或者false),該值指示
18、是否在控件中顯示水平滾動條。2、ComboBox控件的其他屬性DropDownStyle屬性:表示組合框的顯示樣式,它有3種選擇形式。MaxDropDownItems屬性:設(shè)置打開列表框時所顯示的最大條目數(shù)。6.5.1 選擇類控件【例6-9】設(shè)計一個簡單的選修課程修改界面,從可選項中選擇課程添加到選修的課程列表內(nèi)。如果可選項中沒有提供所選課程,允許用戶直接鍵入新課程,并自動將鍵入的新課程添加到供選擇的課程中。設(shè)計界面如下:6.5.2 復(fù)選框控件CheckBox控件1.三種狀態(tài)2.常用屬性 Checked屬性3.常用事件 CheckedChanged事件CheckBox控件【例6-10】設(shè)計一個
19、窗體,讓用戶選擇球類參賽項目,要求用一個復(fù)選框表示是否參加所有比賽項目,如果只參加了部分球賽項目,該復(fù)選框用“不確定”狀態(tài)表示。設(shè)計界面如下:6.5.2 CheckedListBox控件常用屬性(1) Items屬性:項的集合。(2) Count屬性:項的數(shù)目。(3) CheckedItems屬性:獲取選中項的集合。(4) CheckedIndices屬性:獲取選中項索引的集合。 (4) MultiColumn屬性:true或false。常用事件:SelectedIndexChanged事件。常用方法:(1) GetItemChecked方法:獲取指定項是否被選中 。(2) SetItemCh
20、ecked方法:設(shè)置某個復(fù)選框的選中狀態(tài)。CheckedListBox控件【例6-11】設(shè)計一個簡單的課程選擇界面,演示CheckedListBox控件的用法。左圖為設(shè)計界面,右圖為運行效果。6.5.3 RadioButton控件1.特點:(1)單選(2)以各自所在的容器來劃分組,如果在一個窗體上創(chuàng)建多個單選按鈕組,可以使用GroupBox或者Panel控件作為容器。2. 與CheckBox相比,RadioButton控件除了是單選外,其他用法與CheckBox用法相同。6.5.3 RadioButton控件【例6-12】演示RadioButton控件的用法。設(shè)計界面如下:6.5.4 日期選擇
21、控件1. DateTimePicker控件用于對日期(年月日)和時間(時分秒)進行處理,該控件提供一個可選擇的日期范圍,供用戶選擇/編輯日期或時間。2.常用屬性1) Text屬性2) Value屬性3) Format屬性 4)ShowUpDown屬性 5)CustomFormat屬性3、如果希望利用該控件僅讓用戶編輯時間(時分秒),需要將它的【ShowUpDown】屬性設(shè)置為“True”,并將其【Format】屬性設(shè)置為“Time”。也可以利用該控件顯示并讓用戶編輯日期和時間,此時需要將其【Format】屬性設(shè)置為“Custom”,并設(shè)置其【CustomFormat】屬性指定日期時間格式字符串
22、。6.5.4 日期選擇控件【例6-13】演示DateTimePicker控件的用法。設(shè)計界面如下:運行界面如下:6.6 圖像操作類控件PictureBox控件:顯示圖片。1.常用屬性 1) Image:獲取或設(shè)置顯示的圖像 2) SizeMode:AutoSize、CenterImage、Normal、StretchImage、Zoom 3) Parent:(僅代碼方式下可用):獲取或設(shè)置父級控件2.加載和清除圖片/加載圖片if (pictureBox1.Image != null) pictureBox1.Image.Dispose( );string fileName= Applicati
23、on.StartupPath + MyImage.gif;pictureBox1.Image = Image.FromFile(fileName);/清除圖片if (pictureBox1.Image != null) pictureBox1.Image.Dispose( ); pictureBox1.Image = null;PictureBox控件【例6-14】演示如何將圖像拖放到RichTextBox控件內(nèi)。 設(shè)計界面 運行界面6.6 圖像操作類控件ImageList控件:圖像列表控件。1.ImageList組件用于保存一組圖像,然后供其他控件顯示一組圖像中的某一個圖像,例如 ListV
24、iew控件、TreeView控件等。2.常用屬性: ImageList組件的主要屬性是【Images】屬性,它包含關(guān)聯(lián)的控件將要使用的圖片。 每個單獨的圖像可通過其索引值或其鍵值來訪問,其中索引值用【ImageIndex】屬性來設(shè)置,鍵值用【ImageKey】屬性來設(shè)置。ImageList控件【例6-15】演示如何利用ImageList組件動態(tài)改變按鈕圖像的狀態(tài)。運行效果如下:6.7 菜單與工具欄6.7.1 MenuStrip控件MenuStrip控件用于設(shè)計菜單。菜單的組成:6.7.1 MenuStrip控件MenuStrip控件的常用屬性 (1) Dock:指示菜單欄在窗體中停靠的位置,默
25、認值為Top。 (2) Items:菜單欄上顯示的各菜單項。MenuItem菜單項的常用屬性(1) DisplayStyle:菜單項上的顯示樣式。(2) Image:指定在該菜單項上顯示的圖標。(在C:Program FilesMicrosoft Visual Studio 8Common7VS2005ImageLibrary下有一個.zip文件,內(nèi)有各種動畫文件、圖像文件和圖標文件,例如展開后在目錄bitmapscommandspngformat下有打開、保存等圖像。)(3) ShortcutKeys:快捷鍵。MenuItem菜單項的常用事件Click事件6.7.2 ContextMenuS
26、trip控件用于制作右鍵快捷菜單使用該控件的關(guān)鍵是將需要顯示快捷菜單的控件的ContextMenuStrip屬性設(shè)置為添加的ContextMenuStrip控件對象。除了是右鍵彈出外,其他用法與MenuStrip相同。6.7.3 ToolStrip控件ToolStrip控件的作用是為Windows應(yīng)用程序添加工具欄。工具欄一般是由多個按鈕、標簽等排列組成,通過這些項可以快速地執(zhí)行程序提供的一些常用命令,比使用菜單選擇更加方便快捷。 ToolStrip控件的常用屬性和事件與MenuStrip控件基本相同,工具欄上各項的屬性和事件與MenuStrip控件中菜單項基本相同。6.7.4 StatusS
27、tripStatusStrip控件的作用是向窗體中添加狀態(tài)欄,狀態(tài)欄一般由文本提示信息組成。StatusStrip控件一般由ToolStripStatusLabel對象組成,每個這樣的對象都可以顯示文本、圖標或者同時顯示文本和圖像。6.7.4 StatusStrip【例6-16】演示菜單與工具欄相關(guān)控件的用法。設(shè)計界面 運行界面6.8 視圖類控件6.8.1 列表視圖控件(ListView)ListView(列表視圖)控件用列表的形式顯示一組數(shù)據(jù),每項數(shù)據(jù)都是一個ListItem類型的對象,稱之為項,同時每個項還可能會有多個描述的子項。一般使用ListView來顯示分類查詢及其詳細信息。常見屬性:表6-17。6.8.1 列表視圖控件(
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年土地使用權(quán)轉(zhuǎn)讓合同(含開發(fā)權(quán))
- 2024年廣西路分公司一級干線租用合同
- 2024年安全監(jiān)控外包服務(wù)合同
- 2024年工程設(shè)計變更合同補充
- 2024年度石油化工設(shè)備安裝調(diào)試合同
- 2024年工廠租賃合同書
- 2024年度塔吊設(shè)計研發(fā)合同
- 2024購房合同應(yīng)注意事項
- 2024征地補償安置合同范本
- 2024年學(xué)校治安門衛(wèi)合同
- GB/T 16475-2008變形鋁及鋁合金狀態(tài)代號
- GB/T 13611-2018城鎮(zhèn)燃氣分類和基本特性
- 融資擔(dān)保機構(gòu)擔(dān)保代償管理指引
- GB 20664-2006有色金屬礦產(chǎn)品的天然放射性限值
- FZ/T 93074-2011熔噴法非織造布生產(chǎn)聯(lián)合機
- 高中生物課程標準2022
- 引發(fā)火災(zāi)的原因課件
- 汽車點火系實訓(xùn)項目
- 注氮機司機講義
- 傳播學(xué)概論課件新版
- 內(nèi)蒙古伊利實業(yè)集團股份有限公司員工獎懲制度
評論
0/150
提交評論