C#Windows程序的窗體設(shè)計(jì)技術(shù)課件_第1頁(yè)
C#Windows程序的窗體設(shè)計(jì)技術(shù)課件_第2頁(yè)
C#Windows程序的窗體設(shè)計(jì)技術(shù)課件_第3頁(yè)
C#Windows程序的窗體設(shè)計(jì)技術(shù)課件_第4頁(yè)
C#Windows程序的窗體設(shè)計(jì)技術(shù)課件_第5頁(yè)
已閱讀5頁(yè),還剩137頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

VisualC#.Net

程序設(shè)計(jì)2022/12/201VisualC#.Net程序設(shè)計(jì)VisualC#.Net

程序設(shè)計(jì)2022/12/161第七章Windows程序的窗體設(shè)計(jì)技術(shù)7.1

窗體與控件概述

7.2

按鈕、標(biāo)簽與文件框控件7.3

選擇控件7.4容器控件7.5PictureBox控件7.6

菜單、工具欄和狀態(tài)欄7.7對(duì)話框7.8SDI和MDI應(yīng)用程序2022/12/202VisualC#.Net程序設(shè)計(jì)第七章Windows程序的窗體設(shè)計(jì)技術(shù)7.1窗體與控件概7.1窗體與控件一、Windows窗體二、窗體的控件返回2022/12/203VisualC#.Net程序設(shè)計(jì)7.1窗體與控件一、Windows窗體返回2022/一、Windows窗體1.Windows窗體Windows窗體是使用C#來(lái)建立基于窗口應(yīng)用程序的出發(fā)點(diǎn)。不過(guò),從窗體本身來(lái)看,它只是一個(gè)可移動(dòng)的界面而已。雖然用戶可以直接在窗體上繪制對(duì)象和文本,但是窗體的真正作用是充當(dāng)Windows控件的容器。2.Windows窗體命名空間Windows窗體的基類是Form,在System.Windows.Forms命名空間中定義..NET中的大多數(shù)控件都派生于System.Windows.Forms.Control類,該類定義了控件的基本功能。2022/12/204VisualC#.Net程序設(shè)計(jì)一、Windows窗體1.Windows窗體2022/123.窗體的主要屬性2022/12/205VisualC#.Net程序設(shè)計(jì)3.窗體的主要屬性2022/12/165VisualC#二、窗體的控件1..NETFramework中的窗體控件2.控件的屬性2022/12/206VisualC#.Net程序設(shè)計(jì)二、窗體的控件1..NETFramework中的窗體控件1..NETFramework中的窗體控件數(shù)據(jù)顯示 DataGridView數(shù)據(jù)綁定和定位 BindingSource、BindingNavigator文本編輯 TextBox、RichTextBox、MaskedTextBox信息顯示 Lable、StatusStrip、ProgressBar網(wǎng)頁(yè)顯示 WebBrowser列表與選擇CheckBox、CheckedListBox、ComboBox、RadioButton、ListBox、ListView、NumericUpDown、TreeView、DomainUpDown、TrackBar、圖形顯示 PictureBox、ImageList日期設(shè)置 DateTimePicker、MonthCalendar對(duì)話框 ColorDialog、FontDialog、OpenFileDialog、PrintDialog、PrintPreviewDialog、FolderBrowerDialog、SaveFileDialog命令 Button、LinkLabel、NotifyIcon、ToolStrip菜單 MenuStrip、ContextMenuStrip用戶幫助 HelpProvider、 ToolTrip將其他控件分組 Panel、GroupBox、TabControl、SplitContainer、TableLayoutPanel、FlowLayoutPane2022/12/207VisualC#.Net程序設(shè)計(jì)1..NETFramework中的窗體控件數(shù)據(jù)顯示 Da2.控件的屬性屬性名稱說(shuō)明Anchor獲取或設(shè)置控件綁定到的容器的邊緣并確定控件如何隨其父級(jí)一起調(diào)整大小BackColor控件的背景色Bottom控件下邊緣與其容器的工作區(qū)上邊緣之間的距離(單位:像素)Dock獲取或設(shè)置控件邊框??康狡涓缚丶⒋_定控件如何隨其父級(jí)一起調(diào)整大小Enabled控件是否可以對(duì)用戶交互作出響應(yīng)ForeColor控件的前景色Height控件的高度Left控件左邊緣與其容器的工作區(qū)左邊緣之間的距離(單位:像素)Location控件的左上角相對(duì)于其容器的左上角的坐標(biāo)。2022/12/208VisualC#.Net程序設(shè)計(jì)2.控件的屬性屬性名稱說(shuō)明Anchor獲取或設(shè)置控件綁定到控件的屬性(續(xù))Name控件的名稱,這個(gè)名稱可以在代碼中用于引用該控件。Parent控件的父容器Right控件右邊緣與其容器的工作區(qū)左邊緣之間的距離(單位:像素)Size控件的高度和寬度TabIndex控件的Tab鍵順序TabStop指示用戶能否使用Tab鍵將焦點(diǎn)放到該控件上。Text與此控件關(guān)聯(lián)的文本Top控件上邊緣與其容器的工作區(qū)上邊緣之間的距離(單位:像素)Visible指示是否顯示該控件Width控件的寬度返回2022/12/209VisualC#.Net程序設(shè)計(jì)控件的屬性(續(xù))Name控件的名稱,這個(gè)名稱可以在代碼中用于7.2按鈕、標(biāo)簽與文件框控件一、按鈕控件二、標(biāo)簽控件三、文本框控件四、用戶登錄實(shí)例返回2022/12/2010VisualC#.Net程序設(shè)計(jì)7.2按鈕、標(biāo)簽與文件框控件一、按鈕控件返回2022/1一、按鈕控件1.常見(jiàn)屬性Name:用于設(shè)置對(duì)象的名稱,以便在代碼中引用。Text:以文本形式顯示在按鈕上的標(biāo)題文字。如果要設(shè)置快捷鍵,則在快捷鍵字母前面加上一個(gè)“&”字符Visible:決定該按鈕是否可見(jiàn)Enabled:決定該按鈕是否有效FlatStyle:決定該按鈕的樣式,值為FlatStyle枚舉型Image:指定一個(gè)在按鈕上顯示的圖像ImageAlign:設(shè)置圖像在按鈕上的對(duì)齊方式2022/12/2011VisualC#.Net程序設(shè)計(jì)一、按鈕控件1.常見(jiàn)屬性2022/12/1611Visua2.設(shè)置屬性的值方法1:在程序設(shè)計(jì)階段,在控件的“屬性”窗口中直接修改相關(guān)的屬性值;方法2:用程序代碼修改屬性注意:各種控件對(duì)象的Name屬性只能通過(guò)“屬性”窗口更改,該屬性在設(shè)計(jì)時(shí)有效,運(yùn)行時(shí)為只讀。2022/12/2012VisualC#.Net程序設(shè)計(jì)2.設(shè)置屬性的值2022/12/1612VisualC二、標(biāo)簽控件1.作用:主要用于在窗體上顯示文本2.控件名:Label:標(biāo)準(zhǔn)的Windows標(biāo)簽;LinkLabel:類似于Label,但以超鏈接方式顯示2022/12/2013VisualC#.Net程序設(shè)計(jì)二、標(biāo)簽控件1.作用:主要用于在窗體上顯示文本2022/3.標(biāo)簽控件的常用屬性屬性名稱說(shuō)明BorderStyle控件的邊框樣式,默認(rèn)為無(wú)邊框FlatStyle設(shè)置平面樣式外觀。如果設(shè)置為PopUp,表示平面樣式,當(dāng)指向它時(shí),控件顯示為彈起樣式。Image顯示在Label上的圖像ImageAlign控件中顯示的圖像的對(duì)齊方式LinkArea文本中顯示為鏈接的范圍(只用于LinkLabel)LinkColor顯示普通鏈接時(shí)使用的顏色(只用于LinkLabel)Links獲取包含在LinkLabel內(nèi)的鏈接的集合(只用于LinkLabel)LinkVisited是否為被訪問(wèn)過(guò)的鏈接(只用于LinkLabel)TextAlign

標(biāo)簽中文本的對(duì)齊方式VisitedLinkColor顯示以前訪問(wèn)過(guò)的鏈接時(shí)所使用的顏色(只用于LinkLabel)2022/12/2014VisualC#.Net程序設(shè)計(jì)3.標(biāo)簽控件的常用屬性屬性名稱說(shuō)明BorderStyle三、文本框控件1.TextBox控件2.RichTextBox控件2022/12/2015VisualC#.Net程序設(shè)計(jì)三、文本框控件1.TextBox控件2022/12/11.TextBox控件(1)TextBox常見(jiàn)的屬性屬性名稱說(shuō)明CausesValidation

是否驗(yàn)證用戶輸入的有效性CharacterCasing是否在字符鍵入時(shí)修改其大小寫(xiě)格式MaxLength

設(shè)置能輸入的最大字符數(shù),如果=0,則不受限制Multiline是否可以顯示多行文本PasswordChar設(shè)置密碼顯示字符ReadOnly

文本是否為只讀ScrollBars獲取或設(shè)置哪些滾動(dòng)條應(yīng)出現(xiàn)在多行TextBox控件中SelectedText

表示當(dāng)前選定的文本SelectionLength

當(dāng)前選定的字符數(shù)SelectionStart

當(dāng)前選定的文本起始點(diǎn)Text當(dāng)前文本W(wǎng)ordWrap

是否自動(dòng)換行2022/12/2016VisualC#.Net程序設(shè)計(jì)1.TextBox控件(1)TextBox常見(jiàn)的屬性屬(2)TextBox常用事件事件名稱說(shuō)明Enter

進(jìn)入控件時(shí)發(fā)生這4個(gè)事件按列出的順序觸發(fā),它們被稱為“焦點(diǎn)事件”,當(dāng)控件的焦點(diǎn)改變時(shí)觸發(fā),但Validating和Validated僅在控件接收了焦點(diǎn)且其CausesValidation設(shè)置為true時(shí)實(shí)被觸發(fā)Leave

在輸入焦點(diǎn)離開(kāi)控件時(shí)發(fā)生Validating

在控件正在驗(yàn)證時(shí)發(fā)生Validated

在控件完成驗(yàn)證時(shí)發(fā)生KeyDown這3個(gè)事件統(tǒng)稱為“鍵事件”,用于監(jiān)視和改變輸入到控件中內(nèi)容,KeyDown和KeyUp

接收與所按下鍵對(duì)應(yīng)的鍵碼,可以來(lái)確定是否按下了特殊鍵,如Shift、Ctrl或F1。KeyPress接收與鍵對(duì)應(yīng)的字符KeyPressKeyUp

TextChanged

只要文本框中的文本發(fā)生了改變,就會(huì)觸發(fā)該事件2022/12/2017VisualC#.Net程序設(shè)計(jì)(2)TextBox常用事件事件名稱說(shuō)明Enter

進(jìn)入2.RichTextBox控件常用屬性屬性名稱說(shuō)明CanRedo

指示在RichTextBox內(nèi)發(fā)生的操作中是否有可以重新應(yīng)用CanUndo

指示用戶在文本框控件中能否撤消前一操作DetectUrls當(dāng)在控件中鍵入某個(gè)URL時(shí),RichTextBox是否自動(dòng)設(shè)置URL的格式Rtf與Text屬性相類似,但可包括RTF格式的文本SelectedRtf獲取或設(shè)置控件中當(dāng)前選擇的RTF格式的格式化文本SelectedText獲取或設(shè)置RichTextBox內(nèi)的選定文本SelectionAlignment選定內(nèi)容或插入點(diǎn)的對(duì)齊方式,可以取值為Cente、Left或Right2022/12/2018VisualC#.Net程序設(shè)計(jì)2.RichTextBox控件常用屬性屬性名稱說(shuō)明CaRichBoxText常用屬性(續(xù))SelectionBullet

指示項(xiàng)目符號(hào)樣式是否應(yīng)用到當(dāng)前選定內(nèi)容或插入點(diǎn)BulletIndent

指定項(xiàng)目符號(hào)的縮進(jìn)像素值SelectionColor獲取或設(shè)置當(dāng)前選定文本或插入點(diǎn)的文本顏色SelectionFont獲取或設(shè)置當(dāng)前選定文本或插入點(diǎn)的字體SelectionLength

獲取或設(shè)置控件中選定的字符數(shù)ShowSelectionMargin如果把這個(gè)屬性設(shè)置為true,在RichTextBox左邊就會(huì)出現(xiàn)一個(gè)頁(yè)邊距,方便選擇文本UndoActionName獲取調(diào)用Undo方法后在控件中可撤消的操作名稱SelectionProtected把這個(gè)屬性設(shè)置設(shè)置為true,可以指定不修改文本的某些部份2022/12/2019VisualC#.Net程序設(shè)計(jì)RichBoxText常用屬性(續(xù))SelectionBul四、應(yīng)用實(shí)例:用戶登錄【實(shí)例7-1】設(shè)計(jì)一個(gè)簡(jiǎn)單的用戶登錄界面,當(dāng)輸入正確的用戶名和密碼時(shí),系統(tǒng)將給出正確的提示,否則給出錯(cuò)誤提示。實(shí)例7-1源代碼閱讀(見(jiàn)教材)操作演示代碼分析返回2022/12/2020VisualC#.Net程序設(shè)計(jì)四、應(yīng)用實(shí)例:用戶登錄【實(shí)例7-1】設(shè)計(jì)一個(gè)簡(jiǎn)單的用戶登錄7.3選擇控件一、RadioButton控件二、CheckBox控件三、ListBox控件四、ComboBox控件五、應(yīng)用實(shí)例:添加學(xué)生信息返回2022/12/2021VisualC#.Net程序設(shè)計(jì)7.3選擇控件一、RadioButton控件返回20一、RadioButton控件單選按鈕RadioButton控件為用戶提供由兩個(gè)或多個(gè)互斥選項(xiàng)組成的選項(xiàng)集。用戶在一組單選按鈕中,只能選擇一個(gè)。RadioButton控件的屬性屬性名稱說(shuō)明Appearance獲取或設(shè)置一個(gè)值,該值用于確定RadioButton的外觀??蛇x值:Normal和Button。每種類型都可顯示文本或圖像,或同時(shí)顯示兩者。選擇Normal后的外觀:。選擇Button后的外觀:AutoCheck如果這個(gè)屬性為true,用戶單擊單選按鈕時(shí),會(huì)顯示一個(gè)選中標(biāo)記。如果該屬性為false,就必須在Click事件處理程序的代碼中手工檢查單選按鈕CheckAlign改變單選按鈕的復(fù)選框的對(duì)齊形式,值可為枚舉ContentAlignment有效值之一。默認(rèn)值為MiddleLeft,意為內(nèi)容在垂直方向上中間對(duì)齊,在水平方向上左邊對(duì)齊Checked獲取或設(shè)置一個(gè)值,該值指示是否已選中控件。如果選中控件,它就是true,否則為false2022/12/2022VisualC#.Net程序設(shè)計(jì)一、RadioButton控件單選按鈕RadioButto一、RadioButton控件RadioButton控件的屬性事件名稱說(shuō)明CheckChanged當(dāng)單選按鈕的選中選項(xiàng)改變時(shí)發(fā)生Click每次單擊單選按鈕時(shí),都會(huì)引發(fā)該事件。這與CheckChanged事件不同,因?yàn)檫B續(xù)單擊單選按鈕兩次或多次只改變checked屬性一次,且只改變以前未選中的控件的Checked屬性,這是只會(huì)在首次單擊該選項(xiàng)地觸發(fā)CheckChanged事件。如果被單擊按鈕的AutoCheck屬性是false,則該按鈕根本不會(huì)被選中,只會(huì)觸發(fā)Click事件,不會(huì)觸發(fā)CheckChanged事件2022/12/2023VisualC#.Net程序設(shè)計(jì)一、RadioButton控件RadioButton控件的二、CheckBox控件復(fù)選框CheckBox控件列出了可供用戶選擇的選項(xiàng),用戶根據(jù)需要可以從中選擇一項(xiàng)或多項(xiàng)。當(dāng)某一個(gè)選擇被選中后,其左邊的小方框會(huì)打下一個(gè)勾。CheckBox控件的屬性屬性名稱說(shuō)明CheckState獲取或設(shè)置CheckBox的狀態(tài)??蛇x值:Checked、Unchecked和Indeterminate。復(fù)選框的形狀是Indeterminate時(shí),控件旁邊的復(fù)選框通常是灰色的,表示復(fù)選框的當(dāng)前值無(wú)效,例如:如果選中標(biāo)識(shí)表示文件的只讀狀態(tài),且選中了兩個(gè)文件,其中一個(gè)只讀,另一個(gè)不是,則該復(fù)選框取值無(wú)效。選擇Indeterminate后的外觀:。ThreeState確定該控件是支持兩種狀態(tài)還是三種狀態(tài)。使用Checked屬性可以獲取或設(shè)置具有兩種狀態(tài)的CheckBox控件的值,而使用CheckState屬性可以獲取或設(shè)置具有三種狀態(tài)的CheckBox控件的值。當(dāng)該屬性取值為False時(shí),用戶不能把CheckState屬性改為Indeterminate,但仍可以在代碼中改為Indeterminate2022/12/2024VisualC#.Net程序設(shè)計(jì)二、CheckBox控件復(fù)選框CheckBox控件列出了二、CheckBox控件CheckBox控件的事件事件名稱說(shuō)明CheckChanged當(dāng)復(fù)選框的Checked屬性改變時(shí),就引發(fā)該事件。注意在復(fù)選框中,當(dāng)ThreeState屬性為true時(shí),單擊復(fù)選框不會(huì)改變Checked屬性。在復(fù)選框從Checked變?yōu)镮ndeterminate狀態(tài)時(shí),就會(huì)出現(xiàn)這種情況CheckStateChanged當(dāng)CheckState屬性改變時(shí),就引發(fā)該事件,CheckState屬性的值可以是Checked、Unchecked和Indeterminate2022/12/2025VisualC#.Net程序設(shè)計(jì)二、CheckBox控件CheckBox控件的事件事件三、ListBox控件列表框ListBox控件用于顯示一組字符串,可以從中選擇一個(gè)或多個(gè)選項(xiàng)。與復(fù)選框和單選按鈕一樣,列表框也提供了要求用戶選擇一個(gè)或多個(gè)選項(xiàng)的方式。ListBox控件的屬性屬性名稱說(shuō)明SelectedIndex該值表示列表框中選項(xiàng)的索引(索引從0開(kāi)始)。如果列表框可以一次選擇多個(gè)選項(xiàng),這個(gè)屬性就表示選中列表中的第一個(gè)選項(xiàng)ColumnWidth在包含多個(gè)列的列表框中,指定列的寬度ItemsItems集合包含列表框中的所有選項(xiàng),使用這個(gè)集合的屬性可以增加和刪除選項(xiàng)MultiColumn列表框可以有多個(gè)列。使用這個(gè)屬性可以獲取或設(shè)置列表框中列的個(gè)數(shù)SelectedIndies這個(gè)屬性是個(gè)集合,包含列表框中選中選項(xiàng)的所有索引SelectedItem在只能選擇一個(gè)選項(xiàng)的列表框中,這個(gè)屬性包含選中的選項(xiàng)。在可以選擇多個(gè)選的列表框中,這個(gè)屬性包含選中項(xiàng)中的第一個(gè)選項(xiàng)SelectedItems這個(gè)屬性是個(gè)集合,包含當(dāng)前選中的所有選項(xiàng)SelectionMode在列表框中??梢允褂肔istSelecttionMode枚舉中的4種選擇模式:None:不能選擇任何選項(xiàng)One:一次只能選擇一個(gè)選項(xiàng)MnltiSimple:可以選擇多個(gè)選項(xiàng),使用這個(gè)模式,在單擊列表中的一項(xiàng)時(shí),該項(xiàng)就會(huì)被選中,即使單擊另一項(xiàng),該項(xiàng)也仍保持選中狀態(tài),除非再次單擊它MnltiExtended:可以選擇多個(gè)選項(xiàng),用戶還可以使用Ctrl、Shift和箭頭鍵進(jìn)行選擇。它與MnltiSimple不同,如果先單擊一項(xiàng),然后單擊另一項(xiàng),則只選中第二個(gè)單擊的項(xiàng)Sorted把這個(gè)屬性設(shè)置為true,會(huì)使列表框?qū)λ倪x項(xiàng)按照字母順序排序Text和其它控件的Text屬性不大相同,如果設(shè)置列表框控件的Text屬性,它將搜索匹配該文本的選項(xiàng),并選擇該選項(xiàng),如果獲取Text屬性,返回的值是列表中第一個(gè)選中的選項(xiàng)。如果SelectionMode是Node,就不能使用這個(gè)屬性2022/12/2026VisualC#.Net程序設(shè)計(jì)三、ListBox控件列表框ListBox控件用于顯示一三、ListBox控件ListBox控件的常用方法方法名稱說(shuō)明ClearSelected清除ListBox控件中的所有選項(xiàng)FindString查找ListBox控件中以指定字符串開(kāi)始的第一個(gè)項(xiàng)FindStringExact查找ListBox控件中第一個(gè)精確匹配指定字符串的項(xiàng)GetSelected返回一個(gè)值,該值指示是否選定了指定的項(xiàng)SetSelected選擇或清除對(duì)ListBox控件中指定項(xiàng)的選定ToString返回ListBox的字符串表示形式2022/12/2027VisualC#.Net程序設(shè)計(jì)三、ListBox控件ListBox控件的常用方法方法三、ListBox控件ListBox控件的常用事件事件名稱說(shuō)明SelectedIndexChanged在選中選項(xiàng)的索引改變時(shí)引發(fā)該事件2022/12/2028VisualC#.Net程序設(shè)計(jì)三、ListBox控件ListBox控件的常用事件事件四、ComboBox控件組合框ComboBox控件,它是把文本框控件和列表框組合在一起,使用戶可以從列表中選擇項(xiàng),也可以輸入新文本。Visible屬性決定該按鈕是否可見(jiàn),屬性值為true時(shí)可見(jiàn),為false時(shí)隱藏。ComboBox的默認(rèn)行為是顯示一個(gè)可編輯文本框,該文本框具有一個(gè)隱藏的下拉列表。DropDownStyle屬性確定要顯示的組合框的樣式。該值提供以下選項(xiàng):Simple,簡(jiǎn)單的下拉列表,始終顯示列表、下拉列表框;DropDownList,文本部分不可編輯,并且必須點(diǎn)擊箭頭才能查看下拉列表;DropDown,默認(rèn)下拉列表框,文本部分可編輯,并且用戶必須按箭頭鍵才能查看列表。2022/12/2029VisualC#.Net程序設(shè)計(jì)四、ComboBox控件組合框ComboBox控件,它是五、應(yīng)用實(shí)例:添加學(xué)生信息【實(shí)例7-2】在項(xiàng)目MySchool中添加一個(gè)窗體,實(shí)現(xiàn)如圖7-12所示的效果,用于添加學(xué)生的個(gè)人信息。實(shí)例7-2源代碼閱讀(見(jiàn)教材)操作演示代碼分析返回2022/12/2030VisualC#.Net程序設(shè)計(jì)五、應(yīng)用實(shí)例:添加學(xué)生信息【實(shí)例7-2】在項(xiàng)目MyScho7.4容器控件一、GroupBox控件二、Panel控件

三、TabControl控件四、應(yīng)用實(shí)例:添加課程信息返回2022/12/2031VisualC#.Net程序設(shè)計(jì)7.4容器控件一、GroupBox控件返回2022/一、GroupBox控件GroupBox控件用于為其他控件提供可識(shí)別的分組。在窗體上創(chuàng)建GroupBox控件及其內(nèi)部控件時(shí),必須先建立GroupBox控件,然后在其內(nèi)建立各種控件。2022/12/2032VisualC#.Net程序設(shè)計(jì)一、GroupBox控件GroupBox控件用于為其他控二、Panel控件Panel控件類似于GroupBox控件Panel控件可以有滾動(dòng)條若要顯示滾動(dòng)條,需將AutoScroll屬性設(shè)置為true可以通過(guò)設(shè)置BackColor、BackgroundImage和BorderStyle屬性自定義面板的外觀2022/12/2033VisualC#.Net程序設(shè)計(jì)二、Panel控件Panel控件類似于GroupBox三、TabControl控件TabControl顯示多個(gè)選項(xiàng)卡選項(xiàng)卡中可包含圖片和其他控件。TabControl控件的常用屬性屬性名稱說(shuō)明Alignment控制選項(xiàng)卡在控件中的顯示位置,默認(rèn)為控件的頂部Appearance控制選項(xiàng)卡的顯示方式,選項(xiàng)卡可以顯示為一般的按鈕或帶有平面的樣式HotTrack如為true,則當(dāng)鼠標(biāo)指針移過(guò)控件上的選項(xiàng)卡時(shí),其外觀就會(huì)改變Multiline如為true,則可以以多行顯示選項(xiàng)卡RowCount返回當(dāng)前顯示的選項(xiàng)卡行數(shù)SelectedItem獲取或設(shè)置當(dāng)前選定的選項(xiàng)卡頁(yè)的索引SelectedTab獲取或設(shè)置當(dāng)前選定的選項(xiàng)卡頁(yè),該屬性在TabPages的實(shí)例上使用TabCount獲取選項(xiàng)卡條中選項(xiàng)卡的數(shù)目。TabPages獲取該選項(xiàng)卡控件中選項(xiàng)卡頁(yè)的集合,使用這個(gè)集合可以添加和刪除TabPages對(duì)象2022/12/2034VisualC#.Net程序設(shè)計(jì)三、TabControl控件TabControl顯示多四、應(yīng)用實(shí)例:添加課程信息【實(shí)例7-3】在項(xiàng)目MySchool中添加一個(gè)窗體,用于添加課程信息。實(shí)例7-3源代碼閱讀(見(jiàn)教材)操作演示代碼分析返回2022/12/2035VisualC#.Net程序設(shè)計(jì)四、應(yīng)用實(shí)例:添加課程信息【實(shí)例7-3】在項(xiàng)目MyScho7.5PictureBox控件一、PictureBox控件二、應(yīng)用實(shí)例:添加關(guān)于窗體返回2022/12/2036VisualC#.Net程序設(shè)計(jì)7.5PictureBox控件一、PictureBox一、PictureBox控件PictureBox控件用于顯示位圖、GIF、JPEG、圖元文件或圖標(biāo)格式的圖形。Image屬性確定所顯示的圖片該屬性可在運(yùn)行時(shí)或設(shè)計(jì)時(shí)設(shè)置。SizeMode屬性控制使圖像和控件彼此間的相互顯示方式。Normal:Image置于PictureBox的左上角,凡是因過(guò)大而不適合PictureBox的任何圖像部分都將被剪裁掉。StretchImage:會(huì)使將圖像拉伸,適合PictureBox的大小。AutoSize:會(huì)使控件調(diào)整大小,適合圖像的大小。CenterImage:會(huì)使圖像居于工作區(qū)的中心。2022/12/2037VisualC#.Net程序設(shè)計(jì)一、PictureBox控件PictureBox控件用于顯二、應(yīng)用實(shí)例:添加關(guān)于窗體【實(shí)例7-4】在項(xiàng)目MySchool中添加一個(gè)窗體,用于顯示系統(tǒng)說(shuō)明。實(shí)例7-4源代碼閱讀(見(jiàn)教材)操作演示代碼分析返回2022/12/2038VisualC#.Net程序設(shè)計(jì)二、應(yīng)用實(shí)例:添加關(guān)于窗體【實(shí)例7-4】在項(xiàng)目MySchoo7.6菜單、工具欄和狀態(tài)欄一、菜單二、工具欄三、狀態(tài)欄四、應(yīng)用實(shí)例:添加主窗體返回2022/12/2039VisualC#.Net程序設(shè)計(jì)7.6菜單、工具欄和狀態(tài)欄一、菜單返回2022/12一、菜單1.下拉菜單2.上下文菜單2022/12/2040VisualC#.Net程序設(shè)計(jì)一、菜單1.下拉菜單2022/12/1640Visual1.下拉菜單創(chuàng)建菜單輸入菜單項(xiàng)。可以在標(biāo)題內(nèi)容的某個(gè)字母前加“&”,例如“文件(&F)”命令將具有一個(gè)快捷鍵“Alt+F”,程序運(yùn)行時(shí),按“Alt+F”同樣可以選擇此命令。將菜單標(biāo)題,即菜單命令的Text屬性設(shè)置為“-”(減號(hào)),則此菜單項(xiàng)將顯示為分隔符

2022/12/2041VisualC#.Net程序設(shè)計(jì)1.下拉菜單創(chuàng)建菜單2022/12/1641VisualC1.下拉菜單菜單項(xiàng)的常用屬性屬性名稱說(shuō)明Checked表示菜單是否被選中CheckOnClick當(dāng)設(shè)置為true時(shí),如果菜單項(xiàng)左邊的復(fù)選框沒(méi)有打上標(biāo)記,就打上標(biāo)記,如果該復(fù)選框已打上標(biāo)記,就去除該標(biāo)記,否則,該標(biāo)記就被一個(gè)圖像替代,使用Checked屬性在確定菜單的狀態(tài)DisplayStyle

是否在菜單上顯示文本和圖像,默認(rèn)為ImageAndText,及同時(shí)顯示圖像和文本DropDownItems

獲取與此菜單項(xiàng)相關(guān)的下拉菜單中的項(xiàng)的集合Image

顯示在菜單項(xiàng)上的圖像Selected

指示該菜單項(xiàng)是否處于選定狀態(tài)ShortcutKeys獲取或設(shè)置與菜單項(xiàng)關(guān)聯(lián)的快捷鍵ShowShortcutKeys快捷鍵是否顯示在菜單項(xiàng)的旁邊ToolTipText

菜單項(xiàng)的提示文本,只有當(dāng)ShowItemToolTips設(shè)置為true時(shí),ToolTipText才有效。如果AutoToolTip設(shè)置為true,則該項(xiàng)的Text屬性將用作ToolTipText2022/12/2042VisualC#.Net程序設(shè)計(jì)1.下拉菜單菜單項(xiàng)的常用屬性屬性名稱說(shuō)明Checked表示菜2.上下文菜單上下文菜單這種菜單也稱為快捷菜單,就是指右擊后所彈出來(lái)的菜單設(shè)計(jì)快捷菜單的基本步驟添加一個(gè)ContextMenuStrip控件

。為ContextMenuStrip控件設(shè)計(jì)菜單項(xiàng)

。選中需要使用的快捷菜單的窗體或控件,在其“屬性”窗口中,單擊ContextMenuStrip選項(xiàng),從彈出的下拉列表中選擇所需的ContextMenuStrip控件。

2022/12/2043VisualC#.Net程序設(shè)計(jì)2.上下文菜單上下文菜單這種菜單也稱為快捷菜單,就是指右擊二、工具欄工具欄實(shí)際上可以看成是菜單項(xiàng)的快捷方式,工具欄上的每一個(gè)工具項(xiàng)都應(yīng)有對(duì)應(yīng)的菜單項(xiàng)在工具箱中雙擊ToolStrip控件,可在窗體上添加一個(gè)ToolStrip控件可以在工具欄中添加按鈕、文本、左側(cè)標(biāo)準(zhǔn)按鈕和右側(cè)下拉按鈕的組合、下拉菜單、垂直線或水平線、文本框和進(jìn)度條。2022/12/2044VisualC#.Net程序設(shè)計(jì)二、工具欄工具欄實(shí)際上可以看成是菜單項(xiàng)的快捷方式,工具欄二、工具欄ToolStrip控件及其派生類被設(shè)計(jì)成一個(gè)靈活的可擴(kuò)展系統(tǒng),以顯示工具欄、狀態(tài)和菜單項(xiàng)。

ToolStrip控件說(shuō)明控件名稱說(shuō)明ToolStripButton可以創(chuàng)建一個(gè)支持文本和圖像的工具欄按鈕ToolStripLabel創(chuàng)建一個(gè)標(biāo)簽ToolStripSplitButton左側(cè)標(biāo)準(zhǔn)按鈕和右側(cè)下拉按鈕的組合ToolStripDropDownButton可以創(chuàng)建一個(gè)下拉列表ToolStripSeparator直線,可以對(duì)菜單或ToolStrip上的相關(guān)項(xiàng)進(jìn)行分組ToolStripTextBox文本框,用戶可以在此輸入文本ToolStripProgressBarWindows進(jìn)度欄2022/12/2045VisualC#.Net程序設(shè)計(jì)二、工具欄ToolStrip控件及其派生類被設(shè)計(jì)成一個(gè)三、狀態(tài)欄狀態(tài)欄一般位于windows窗體的底部,主要用來(lái)顯示窗體的狀態(tài)信息可以為狀態(tài)欄添加StatusLabel、ProgressBar、DropDownButton、SplitButton名稱說(shuō)明ToolStripStatusLabelStatusStrip控件中的一個(gè)面板ToolStripDropDownButton用戶可以從中選擇單個(gè)項(xiàng)ToolStripSplitButton標(biāo)準(zhǔn)按鈕和下拉菜單的一個(gè)兩部分控件ToolStripProgressBar顯示進(jìn)程的完成狀態(tài)2022/12/2046VisualC#.Net程序設(shè)計(jì)三、狀態(tài)欄狀態(tài)欄一般位于windows窗體的底部,主要三、狀態(tài)欄StatusStrip控件的常見(jiàn)屬性屬性名稱說(shuō)明Items默認(rèn)情況下,狀態(tài)欄不含有窗格,可使用Items屬性在狀態(tài)欄中添加或刪除窗格ShowItemToolTips是否顯示項(xiàng)的ToolTipSizingGrip用來(lái)設(shè)置是否在窗體的右下角顯示一個(gè)大小控制柄,該控制柄可向用戶表明該窗體大小可調(diào)。只能在大小可調(diào)的窗體中設(shè)置該屬性Text用來(lái)指定狀態(tài)欄顯示的文本2022/12/2047VisualC#.Net程序設(shè)計(jì)三、狀態(tài)欄StatusStrip控件的常見(jiàn)屬性屬性名三、狀態(tài)欄StatusStrip控件中窗格的常用屬性屬性名稱說(shuō)明AutoSize是否基于項(xiàng)的圖像和文本自動(dòng)調(diào)整項(xiàng)的大小Alignment設(shè)定StatusStrip控件上窗格的對(duì)齊方式,可選項(xiàng)包括:Center、Left和RightBorderStyle設(shè)定窗格邊框的樣式,可選項(xiàng)如下:None:不顯示邊框;Raised:窗格以三維凸起方式顯示;Sunken:窗格以三維凹起方式顯示Image設(shè)定窗格顯示的圖標(biāo)MinimumSize設(shè)定窗格在狀態(tài)欄中的最小寬度Spring指定項(xiàng)是否填滿剩余空間Text設(shè)定窗格的顯示文本W(wǎng)idth設(shè)定窗格的寬度,取決于AutoSize屬性的設(shè)置,當(dāng)窗體大小改變時(shí)該屬性值可能會(huì)隨之變化2022/12/2048VisualC#.Net程序設(shè)計(jì)三、狀態(tài)欄StatusStrip控件中窗格的常用屬性四、應(yīng)用實(shí)例:添加主窗體【實(shí)例7-5】在項(xiàng)目MySchool中添加一個(gè)窗體,用于成績(jī)管理系統(tǒng)的主窗體。實(shí)例7-5源代碼閱讀(見(jiàn)教材)操作演示代碼分析返回2022/12/2049VisualC#.Net程序設(shè)計(jì)四、應(yīng)用實(shí)例:添加主窗體【實(shí)例7-5】在項(xiàng)目MySchoo7.7對(duì)話框一、模態(tài)對(duì)話框二、非模態(tài)對(duì)話框三、消息框四、通用對(duì)話框五、應(yīng)用實(shí)例:一個(gè)簡(jiǎn)單的文本編輯器返回2022/12/2050VisualC#.Net程序設(shè)計(jì)7.7對(duì)話框一、模態(tài)對(duì)話框返回2022/12/1650一、模態(tài)對(duì)話框所謂模態(tài)對(duì)話框,就是指當(dāng)這個(gè)對(duì)話框彈出的時(shí)候,鼠標(biāo)不能單擊這個(gè)對(duì)話框之外的區(qū)域,這種對(duì)話框往往是用戶進(jìn)行了某種操作后才出現(xiàn)的?!緦?shí)例7-6】創(chuàng)建一個(gè)新Windows應(yīng)用程序,打開(kāi)一個(gè)模態(tài)對(duì)話框。實(shí)例7-6源代碼閱讀(見(jiàn)教材)操作演示代碼分析2022/12/2051VisualC#.Net程序設(shè)計(jì)一、模態(tài)對(duì)話框所謂模態(tài)對(duì)話框,就是指當(dāng)這個(gè)對(duì)話框彈出的時(shí)候二、非模態(tài)對(duì)話框非模態(tài)對(duì)話框通常用于顯示用戶需要經(jīng)常訪問(wèn)的控件和數(shù)據(jù),并且在使用這個(gè)對(duì)話框的過(guò)程中需要訪問(wèn)其它窗體的情況創(chuàng)建非模態(tài)對(duì)話框和模態(tài)對(duì)話框相似,模態(tài)對(duì)話框使用ShowDialog方法顯示,而非模態(tài)對(duì)話框使用Show方法顯示?!緦?shí)例7-7】在實(shí)例7-6創(chuàng)建的Windows應(yīng)用程序中,打開(kāi)一個(gè)非模態(tài)對(duì)話框。。實(shí)例7-7源代碼閱讀(見(jiàn)教材)操作演示代碼分析2022/12/2052VisualC#.Net程序設(shè)計(jì)二、非模態(tài)對(duì)話框非模態(tài)對(duì)話框通常用于顯示用戶需要經(jīng)常訪問(wèn)的三、消息框消息框經(jīng)常用于向用戶顯示通知信息,消息框是特殊類型的對(duì)話框,包含消息、圖標(biāo)和一個(gè)或多個(gè)按鈕,常用于提供簡(jiǎn)的文本格式的消息??梢允褂肕essageBox產(chǎn)生消息框。與其它窗體不同,開(kāi)發(fā)人員不需創(chuàng)建MessageBox類的實(shí)例。調(diào)用靜態(tài)Show方法可以顯示消息框。2022/12/2053VisualC#.Net程序設(shè)計(jì)三、消息框消息框經(jīng)常用于向用戶顯示通知信息,消息框是特殊類三、消息框1.消息框按鈕2.消息框圖標(biāo)2022/12/2054VisualC#.Net程序設(shè)計(jì)三、消息框1.消息框按鈕2022/12/1654Visua1.消息框按鈕一個(gè)消息框中最多可顯示3個(gè)按鈕,這里按鈕從MessageBoxButtons枚舉的預(yù)定按鈕組成選擇

成員包含的按鈕AbortRetryIgnoreOKOKCancelRetryCancelYesNoYesNoCancel2022/12/2055VisualC#.Net程序設(shè)計(jì)1.消息框按鈕一個(gè)消息框中最多可顯示3個(gè)按鈕,這里按鈕從Me1.消息框按鈕Show方法將返回一個(gè)DialogResult枚舉值指示對(duì)話框的返回值成員說(shuō)明Abort對(duì)話框的返回值是Abort(通常從標(biāo)簽為“中止”的按鈕發(fā)送)

Cancel對(duì)話框的返回值是Cancel(通常從標(biāo)簽為“取消”的按鈕發(fā)送)

Ignore對(duì)話框的返回值是Ignore(通常從標(biāo)簽為“忽略”的按鈕發(fā)送)

No對(duì)話框的返回值是No(通常從標(biāo)簽為“否”的按鈕發(fā)送)

None從對(duì)話框返回了Nothing。這表明有模式對(duì)話框繼續(xù)運(yùn)行

OK對(duì)話框的返回值是OK(通常從標(biāo)簽為“確定”的按鈕發(fā)送)

Retry對(duì)話框的返回值是Retry(通常從標(biāo)簽為“重試”的按鈕發(fā)送)

Yes對(duì)話框的返回值是Yes(通常從標(biāo)簽為“是”的按鈕發(fā)送)

2022/12/2056VisualC#.Net程序設(shè)計(jì)1.消息框按鈕Show方法將返回一個(gè)DialogResult2.消息框圖標(biāo)MessageBoxIcon枚舉用于指定消息框中顯示什么圖標(biāo)。成員包含的按鈕成員包含的按鈕AsteriskInformationErrorQuestionExclamationStopHandWarningNone不顯示圖標(biāo)2022/12/2057VisualC#.Net程序設(shè)計(jì)2.消息框圖標(biāo)MessageBoxIcon枚舉用于指定消息2.字體和顏色對(duì)話框FontDialogFontDialog允許用戶選擇字體。用戶可以通過(guò)“字體”對(duì)話框來(lái)改變文字的字體、樣式、字號(hào)和顏色。

ColorDialogColorDialog允許用戶從調(diào)色板選擇顏色以及將自定義顏色添加到該調(diào)色板。此對(duì)話框與Windows的應(yīng)用程序中看到的用于選擇顏色的對(duì)話框相同。

2022/12/2058VisualC#.Net程序設(shè)計(jì)2.字體和顏色對(duì)話框FontDialog2022/12/四、通用對(duì)話框1.通用對(duì)話框的通用方法或事件公共方法或事件說(shuō)明ShowDialog()顯示一個(gè)通用對(duì)話框,該方法返回一個(gè)DialogResult枚舉Reset()把對(duì)話框內(nèi)的所有屬性設(shè)置為默認(rèn)值,即對(duì)話框初始化

HelpRequest對(duì)當(dāng)用戶單擊通用對(duì)話框上的Help按鈕時(shí)觸發(fā)該事件

2022/12/2059VisualC#.Net程序設(shè)計(jì)四、通用對(duì)話框1.通用對(duì)話框的通用方法或事件公共方法或事2.顏色對(duì)話框ColorDialog常見(jiàn)屬性2022/12/2060VisualC#.Net程序設(shè)計(jì)2.顏色對(duì)話框ColorDialog常見(jiàn)屬性2022/13.字體對(duì)話框FontDialog常見(jiàn)屬性2022/12/2061VisualC#.Net程序設(shè)計(jì)3.字體對(duì)話框FontDialog常見(jiàn)屬性2022/12/五、應(yīng)用實(shí)例:一個(gè)簡(jiǎn)單的文本編輯器【實(shí)例7-8】制作一個(gè)簡(jiǎn)單的文本編輯器??蓪?shí)現(xiàn)打開(kāi)和保存文件,并對(duì)文本內(nèi)容進(jìn)行編輯。實(shí)例7-8源代碼閱讀(見(jiàn)教材)操作演示代碼分析返回2022/12/2062VisualC#.Net程序設(shè)計(jì)五、應(yīng)用實(shí)例:一個(gè)簡(jiǎn)單的文本編輯器【實(shí)例7-8】制作一個(gè)簡(jiǎn)單7.8SDI和MDI應(yīng)用程序基于對(duì)話框的應(yīng)用程序,它們給用戶顯示一個(gè)對(duì)話框,該對(duì)話框提供了所有的功能單一文檔界面(SDI),這些應(yīng)用程序顯示給用戶一個(gè)菜單、一個(gè)或多個(gè)工具欄和一個(gè)窗口,在該窗口中,用戶可以執(zhí)行某些任務(wù)多文檔界面(MDI),這些應(yīng)用程序的執(zhí)行方式與SDI相同,但可以同時(shí)打開(kāi)多個(gè)窗口。返回2022/12/2063VisualC#.Net程序設(shè)計(jì)7.8SDI和MDI應(yīng)用程序基于對(duì)話框的應(yīng)用程序,它們給SDI和MDI應(yīng)用程序(續(xù))一、創(chuàng)建MDI應(yīng)用程序二、應(yīng)用實(shí)例:創(chuàng)建學(xué)生成績(jī)管理系統(tǒng)界面2022/12/2064VisualC#.Net程序設(shè)計(jì)SDI和MDI應(yīng)用程序(續(xù))一、創(chuàng)建MDI應(yīng)用程序2022一、創(chuàng)建MDI應(yīng)用程序MDI應(yīng)用程序至少由兩個(gè)窗口組成,其中一個(gè)窗口叫作MDI容器(Container),也可以叫“主窗口”,用于放置其它窗口,可以在主窗口中顯示的窗口叫作MDI子窗口,或“子窗口”。要?jiǎng)?chuàng)建MDI應(yīng)用程序,把應(yīng)用程序的主窗口從一個(gè)窗體改為MDI容器,只需把窗體的IsMdiContainer屬性設(shè)置為true即可。要?jiǎng)?chuàng)建一個(gè)子窗口,先添加一個(gè)新窗體,在主窗體中打開(kāi)子窗體時(shí),在主窗體中添加下面的代碼:Form2frm=newForm2();//創(chuàng)建子窗體對(duì)象frm.MdiParent=this;//指定當(dāng)前窗體為MDI父窗體frm.Show();//打開(kāi)子窗體2022/12/2065VisualC#.Net程序設(shè)計(jì)一、創(chuàng)建MDI應(yīng)用程序MDI應(yīng)用程序至少由兩個(gè)窗口組成,其二、應(yīng)用實(shí)例:創(chuàng)建學(xué)生成績(jī)管理系統(tǒng)界面

【實(shí)例7-9】設(shè)置學(xué)生成績(jī)管理系統(tǒng)和MDI應(yīng)用程序,在主窗體中打開(kāi)子窗體。實(shí)例7-9源代碼閱讀(見(jiàn)教材)操作演示代碼分析返回2022/12/2066VisualC#.Net程序設(shè)計(jì)二、應(yīng)用實(shí)例:創(chuàng)建學(xué)生成績(jī)管理系統(tǒng)界面【實(shí)例7-9】設(shè)置學(xué)本章要點(diǎn)WinForms可用于Windows窗體應(yīng)用程序開(kāi)發(fā)Windows窗體控件是從System.Windows.Forms.Control類派生的類標(biāo)簽控件用于顯示用戶不能編輯的文本或圖像按鈕控件提供用戶與應(yīng)用程序交互的最簡(jiǎn)便方法組合框控件是列表框控件和文本框控件的組合,用戶可以鍵入文本,也可以從所提供的列表中選擇項(xiàng)目窗體提供了收集、顯示和傳送信息的界面,是GUI的重要元素消息框顯示消息,用于與用戶交互2022/12/2067VisualC#.Net程序設(shè)計(jì)本章要點(diǎn)WinForms可用于Windows窗體應(yīng)用程序本章要點(diǎn)(續(xù))WinForms單選按鈕控件允許用戶進(jìn)行設(shè)置WinForms的圖片框控件允許用戶在窗體上添加和顯示位圖、元文件、JPEG、GIF或PNG等格式的圖形WinForms的選項(xiàng)卡控件將類似的功能集中在一起,放在一個(gè)對(duì)話框或窗口中菜單是程序中顯示一個(gè)選項(xiàng)列表的圖型元素,它提供將命令分組的方法和用戶對(duì)其訪問(wèn)的簡(jiǎn)單途徑2022/12/2068VisualC#.Net程序設(shè)計(jì)本章要點(diǎn)(續(xù))WinForms單選按鈕控件允許用戶進(jìn)行設(shè)置2本章要點(diǎn)(續(xù))工具欄包含工具欄按鈕,這些按鈕提供對(duì)應(yīng)用程序中最常用的菜單命令的快速訪問(wèn)狀態(tài)欄通常顯示在窗體的底部,向用戶提供有關(guān)應(yīng)用程序狀態(tài)的信息單文檔界面的某一時(shí)刻只能打開(kāi)一個(gè)文檔,多文檔界面允許同時(shí)打開(kāi)多個(gè)文檔MDI應(yīng)用程序由一個(gè)MDI父窗體和一個(gè)或多個(gè)子窗體構(gòu)成2022/12/2069VisualC#.Net程序設(shè)計(jì)本章要點(diǎn)(續(xù))工具欄包含工具欄按鈕,這些按鈕提供對(duì)應(yīng)用程序中作業(yè)1.書(shū)面作業(yè)(見(jiàn)本章教材)2.上機(jī)實(shí)驗(yàn)(見(jiàn)本章教材)2022/12/2070VisualC#.Net程序設(shè)計(jì)作業(yè)1.書(shū)面作業(yè)(見(jiàn)本章教材)2022/12/1670ViClassOverThankyou!2022/12/2071VisualC#.Net程序設(shè)計(jì)ClassOverThankyou!2022/12/16VisualC#.Net

程序設(shè)計(jì)2022/12/2072VisualC#.Net程序設(shè)計(jì)VisualC#.Net

程序設(shè)計(jì)2022/12/161第七章Windows程序的窗體設(shè)計(jì)技術(shù)7.1

窗體與控件概述

7.2

按鈕、標(biāo)簽與文件框控件7.3

選擇控件7.4容器控件7.5PictureBox控件7.6

菜單、工具欄和狀態(tài)欄7.7對(duì)話框7.8SDI和MDI應(yīng)用程序2022/12/2073VisualC#.Net程序設(shè)計(jì)第七章Windows程序的窗體設(shè)計(jì)技術(shù)7.1窗體與控件概7.1窗體與控件一、Windows窗體二、窗體的控件返回2022/12/2074VisualC#.Net程序設(shè)計(jì)7.1窗體與控件一、Windows窗體返回2022/一、Windows窗體1.Windows窗體Windows窗體是使用C#來(lái)建立基于窗口應(yīng)用程序的出發(fā)點(diǎn)。不過(guò),從窗體本身來(lái)看,它只是一個(gè)可移動(dòng)的界面而已。雖然用戶可以直接在窗體上繪制對(duì)象和文本,但是窗體的真正作用是充當(dāng)Windows控件的容器。2.Windows窗體命名空間Windows窗體的基類是Form,在System.Windows.Forms命名空間中定義..NET中的大多數(shù)控件都派生于System.Windows.Forms.Control類,該類定義了控件的基本功能。2022/12/2075VisualC#.Net程序設(shè)計(jì)一、Windows窗體1.Windows窗體2022/123.窗體的主要屬性2022/12/2076VisualC#.Net程序設(shè)計(jì)3.窗體的主要屬性2022/12/165VisualC#二、窗體的控件1..NETFramework中的窗體控件2.控件的屬性2022/12/2077VisualC#.Net程序設(shè)計(jì)二、窗體的控件1..NETFramework中的窗體控件1..NETFramework中的窗體控件數(shù)據(jù)顯示 DataGridView數(shù)據(jù)綁定和定位 BindingSource、BindingNavigator文本編輯 TextBox、RichTextBox、MaskedTextBox信息顯示 Lable、StatusStrip、ProgressBar網(wǎng)頁(yè)顯示 WebBrowser列表與選擇CheckBox、CheckedListBox、ComboBox、RadioButton、ListBox、ListView、NumericUpDown、TreeView、DomainUpDown、TrackBar、圖形顯示 PictureBox、ImageList日期設(shè)置 DateTimePicker、MonthCalendar對(duì)話框 ColorDialog、FontDialog、OpenFileDialog、PrintDialog、PrintPreviewDialog、FolderBrowerDialog、SaveFileDialog命令 Button、LinkLabel、NotifyIcon、ToolStrip菜單 MenuStrip、ContextMenuStrip用戶幫助 HelpProvider、 ToolTrip將其他控件分組 Panel、GroupBox、TabControl、SplitContainer、TableLayoutPanel、FlowLayoutPane2022/12/2078VisualC#.Net程序設(shè)計(jì)1..NETFramework中的窗體控件數(shù)據(jù)顯示 Da2.控件的屬性屬性名稱說(shuō)明Anchor獲取或設(shè)置控件綁定到的容器的邊緣并確定控件如何隨其父級(jí)一起調(diào)整大小BackColor控件的背景色Bottom控件下邊緣與其容器的工作區(qū)上邊緣之間的距離(單位:像素)Dock獲取或設(shè)置控件邊框停靠到其父控件并確定控件如何隨其父級(jí)一起調(diào)整大小Enabled控件是否可以對(duì)用戶交互作出響應(yīng)ForeColor控件的前景色Height控件的高度Left控件左邊緣與其容器的工作區(qū)左邊緣之間的距離(單位:像素)Location控件的左上角相對(duì)于其容器的左上角的坐標(biāo)。2022/12/2079VisualC#.Net程序設(shè)計(jì)2.控件的屬性屬性名稱說(shuō)明Anchor獲取或設(shè)置控件綁定到控件的屬性(續(xù))Name控件的名稱,這個(gè)名稱可以在代碼中用于引用該控件。Parent控件的父容器Right控件右邊緣與其容器的工作區(qū)左邊緣之間的距離(單位:像素)Size控件的高度和寬度TabIndex控件的Tab鍵順序TabStop指示用戶能否使用Tab鍵將焦點(diǎn)放到該控件上。Text與此控件關(guān)聯(lián)的文本Top控件上邊緣與其容器的工作區(qū)上邊緣之間的距離(單位:像素)Visible指示是否顯示該控件Width控件的寬度返回2022/12/2080VisualC#.Net程序設(shè)計(jì)控件的屬性(續(xù))Name控件的名稱,這個(gè)名稱可以在代碼中用于7.2按鈕、標(biāo)簽與文件框控件一、按鈕控件二、標(biāo)簽控件三、文本框控件四、用戶登錄實(shí)例返回2022/12/2081VisualC#.Net程序設(shè)計(jì)7.2按鈕、標(biāo)簽與文件框控件一、按鈕控件返回2022/1一、按鈕控件1.常見(jiàn)屬性Name:用于設(shè)置對(duì)象的名稱,以便在代碼中引用。Text:以文本形式顯示在按鈕上的標(biāo)題文字。如果要設(shè)置快捷鍵,則在快捷鍵字母前面加上一個(gè)“&”字符Visible:決定該按鈕是否可見(jiàn)Enabled:決定該按鈕是否有效FlatStyle:決定該按鈕的樣式,值為FlatStyle枚舉型Image:指定一個(gè)在按鈕上顯示的圖像ImageAlign:設(shè)置圖像在按鈕上的對(duì)齊方式2022/12/2082VisualC#.Net程序設(shè)計(jì)一、按鈕控件1.常見(jiàn)屬性2022/12/1611Visua2.設(shè)置屬性的值方法1:在程序設(shè)計(jì)階段,在控件的“屬性”窗口中直接修改相關(guān)的屬性值;方法2:用程序代碼修改屬性注意:各種控件對(duì)象的Name屬性只能通過(guò)“屬性”窗口更改,該屬性在設(shè)計(jì)時(shí)有效,運(yùn)行時(shí)為只讀。2022/12/2083VisualC#.Net程序設(shè)計(jì)2.設(shè)置屬性的值2022/12/1612VisualC二、標(biāo)簽控件1.作用:主要用于在窗體上顯示文本2.控件名:Label:標(biāo)準(zhǔn)的Windows標(biāo)簽;LinkLabel:類似于Label,但以超鏈接方式顯示2022/12/2084VisualC#.Net程序設(shè)計(jì)二、標(biāo)簽控件1.作用:主要用于在窗體上顯示文本2022/3.標(biāo)簽控件的常用屬性屬性名稱說(shuō)明BorderStyle控件的邊框樣式,默認(rèn)為無(wú)邊框FlatStyle設(shè)置平面樣式外觀。如果設(shè)置為PopUp,表示平面樣式,當(dāng)指向它時(shí),控件顯示為彈起樣式。Image顯示在Label上的圖像ImageAlign控件中顯示的圖像的對(duì)齊方式LinkArea文本中顯示為鏈接的范圍(只用于LinkLabel)LinkColor顯示普通鏈接時(shí)使用的顏色(只用于LinkLabel)Links獲取包含在LinkLabel內(nèi)的鏈接的集合(只用于LinkLabel)LinkVisited是否為被訪問(wèn)過(guò)的鏈接(只用于LinkLabel)TextAlign

標(biāo)簽中文本的對(duì)齊方式VisitedLinkColor顯示以前訪問(wèn)過(guò)的鏈接時(shí)所使用的顏色(只用于LinkLabel)2022/12/2085VisualC#.Net程序設(shè)計(jì)3.標(biāo)簽控件的常用屬性屬性名稱說(shuō)明BorderStyle三、文本框控件1.TextBox控件2.RichTextBox控件2022/12/2086VisualC#.Net程序設(shè)計(jì)三、文本框控件1.TextBox控件2022/12/11.TextBox控件(1)TextBox常見(jiàn)的屬性屬性名稱說(shuō)明CausesValidation

是否驗(yàn)證用戶輸入的有效性CharacterCasing是否在字符鍵入時(shí)修改其大小寫(xiě)格式MaxLength

設(shè)置能輸入的最大字符數(shù),如果=0,則不受限制Multiline是否可以顯示多行文本PasswordChar設(shè)置密碼顯示字符ReadOnly

文本是否為只讀ScrollBars獲取或設(shè)置哪些滾動(dòng)條應(yīng)出現(xiàn)在多行TextBox控件中SelectedText

表示當(dāng)前選定的文本SelectionLength

當(dāng)前選定的字符數(shù)SelectionStart

當(dāng)前選定的文本起始點(diǎn)Text當(dāng)前文本W(wǎng)ordWrap

是否自動(dòng)換行2022/12/2087VisualC#.Net程序設(shè)計(jì)1.TextBox控件(1)TextBox常見(jiàn)的屬性屬(2)TextBox常用事件事件名稱說(shuō)明Enter

進(jìn)入控件時(shí)發(fā)生這4個(gè)事件按列出的順序觸發(fā),它們被稱為“焦點(diǎn)事件”,當(dāng)控件的焦點(diǎn)改變時(shí)觸發(fā),但Validating和Validated僅在控件接收了焦點(diǎn)且其CausesValidation設(shè)置為true時(shí)實(shí)被觸發(fā)Leave

在輸入焦點(diǎn)離開(kāi)控件時(shí)發(fā)生Validating

在控件正在驗(yàn)證時(shí)發(fā)生Validated

在控件完成驗(yàn)證時(shí)發(fā)生KeyDown這3個(gè)事件統(tǒng)稱為“鍵事件”,用于監(jiān)視和改變輸入到控件中內(nèi)容,KeyDown和KeyUp

接收與所按下鍵對(duì)應(yīng)的鍵碼,可以來(lái)確定是否按下了特殊鍵,如Shift、Ctrl或F1。KeyPress接收與鍵對(duì)應(yīng)的字符KeyPressKeyUp

TextChanged

只要文本框中的文本發(fā)生了改變,就會(huì)觸發(fā)該事件2022/12/2088VisualC#.Net程序設(shè)計(jì)(2)TextBox常用事件事件名稱說(shuō)明Enter

進(jìn)入2.RichTextBox控件常用屬性屬性名稱說(shuō)明CanRedo

指示在RichTextBox內(nèi)發(fā)生的操作中是否有可以重新應(yīng)用CanUndo

指示用戶在文本框控件中能否撤消前一操作DetectUrls當(dāng)在控件中鍵入某個(gè)URL時(shí),RichTextBox是否自動(dòng)設(shè)置URL的格式Rtf與Text屬性相類似,但可包括RTF格式的文本SelectedRtf獲取或設(shè)置控件中當(dāng)前選擇的RTF格式的格式化文本SelectedText獲取或設(shè)置RichTextBox內(nèi)的選定文本SelectionAlignment選定內(nèi)容或插入點(diǎn)的對(duì)齊方式,可以取值為Cente、Left或Right2022/12/2089VisualC#.Net程序設(shè)計(jì)2.RichTextBox控件常用屬性屬性名稱說(shuō)明CaRichBoxText常用屬性(續(xù))SelectionBullet

指示項(xiàng)目符號(hào)樣式是否應(yīng)用到當(dāng)前選定內(nèi)容或插入點(diǎn)BulletIndent

指定項(xiàng)目符號(hào)的縮進(jìn)像素值SelectionColor獲取或設(shè)置當(dāng)前選定文本或插入點(diǎn)的文本顏色SelectionFont獲取或設(shè)置當(dāng)前選定文本或插入點(diǎn)的字體SelectionLength

獲取或設(shè)置控件中選定的字符數(shù)ShowSelectionMargin如果把這個(gè)屬性設(shè)置為true,在RichTextBox左邊就會(huì)出現(xiàn)一個(gè)頁(yè)邊距,方便選擇文本UndoActionName獲取調(diào)用Undo方法后在控件中可撤消的操作名稱SelectionProtected把這個(gè)屬性設(shè)置設(shè)置為true,可以指定不修改文本的某些部份2022/12/2090VisualC#.Net程序設(shè)計(jì)RichBoxText常用屬性(續(xù))SelectionBul四、應(yīng)用實(shí)例:用戶登錄【實(shí)例7-1】設(shè)計(jì)一個(gè)簡(jiǎn)單的用戶登錄界面,當(dāng)輸入正確的用戶名和密碼時(shí),系統(tǒng)將給出正確的提示,否則給出錯(cuò)誤提示。實(shí)例7-1源代碼閱讀(見(jiàn)教材)操作演示代碼分析返回2022/12/2091VisualC#.Net程序設(shè)計(jì)四、應(yīng)用實(shí)例:用戶登錄【實(shí)例7-1】設(shè)計(jì)一個(gè)簡(jiǎn)單的用戶登錄7.3選擇控件一、RadioButton控件二、CheckBox控件三、ListBox控件四、ComboBox控件五、應(yīng)用實(shí)例:添加學(xué)生信息返回2022/12/2092VisualC#.Net程序設(shè)計(jì)7.3選擇控件一、RadioButton控件返回20一、RadioButton控件單選按鈕RadioButton控件為用戶提供由兩個(gè)或多個(gè)互斥選項(xiàng)組成的選項(xiàng)集。用戶在一組單選按鈕中,只能選擇一個(gè)。RadioButton控件的屬性屬性名稱說(shuō)明Appearance獲取或設(shè)置一個(gè)值,該值用于確定RadioButton的外觀??蛇x值:Normal和Button。每種類型都可顯示文本或圖像,或同時(shí)顯示兩者。選擇Normal后的外觀:。選擇Button后的外觀:AutoCheck如果這個(gè)屬性為true,用戶單擊單選按鈕時(shí),會(huì)顯示一個(gè)選中標(biāo)記。如果該屬性為false,就必須在Click事件處理程序的代碼中手工檢查單選按鈕CheckAlign改變單選按鈕的復(fù)選框的對(duì)齊形式,值可為枚舉ContentAlignment有效值之一。默認(rèn)值為MiddleLeft,意為內(nèi)容在垂直方向上中間對(duì)齊,在水平方向上左邊對(duì)齊Checked獲取或設(shè)置一個(gè)值,該值指示是否已選中控件。如果選中控件,它就是true,否則為false2022/12/2093VisualC#.Net程序設(shè)計(jì)一、RadioButton控件單選按鈕RadioButto一、RadioButton控件RadioButton控件的屬性事件名稱說(shuō)明CheckChanged當(dāng)單選按鈕的選中選項(xiàng)改變時(shí)發(fā)生Click每次單擊單選按鈕時(shí),都會(huì)引發(fā)該事件。這與CheckChanged事件不同,因?yàn)檫B續(xù)單擊單選按鈕兩次或多次只改變checked屬性一次,且只改變以前未選中的控件的Checked屬性,這是只會(huì)在首次單擊該選項(xiàng)地觸發(fā)CheckChanged事件。如果被單擊按鈕的AutoCheck屬性是false,則該按鈕根本不會(huì)被選中,只會(huì)觸發(fā)Click事件,不會(huì)觸發(fā)CheckChanged事件2022/12/2094VisualC#.Net程序設(shè)計(jì)一、RadioButton控件RadioButton控件的二、CheckBox控件復(fù)選框CheckBox控件列出了可供用戶選擇的選項(xiàng),用戶根據(jù)需要可以從中選擇一項(xiàng)或多項(xiàng)。當(dāng)某一個(gè)選擇被選中后,其左邊的小方框會(huì)打下一個(gè)勾。CheckBox控件的屬性屬性名稱說(shuō)明CheckState獲取或設(shè)置CheckBox的狀態(tài)??蛇x值:Checked、Unchecked和Indeterminate。復(fù)選框的形狀是Indeterminate時(shí),控件旁邊的復(fù)選框通常是灰色的,表示復(fù)選框的當(dāng)前值無(wú)效,例如:如果選中標(biāo)識(shí)表示文件的只讀狀態(tài),且選中了兩個(gè)文件,其中一個(gè)只讀,另一個(gè)不是,則該復(fù)選框取值無(wú)效。選擇Indeterminate后的外觀:。ThreeState確定該控件是支持兩種狀態(tài)還是三種狀態(tài)。使用Checked屬性可以獲取或設(shè)置具有兩種狀態(tài)的CheckBox控件的值,而使用CheckState屬性可以獲取或設(shè)置具有三種狀態(tài)的CheckBox控件的值。當(dāng)該屬性取值為False時(shí),用戶不能把CheckState屬性改為Indeterminate,但仍可以在代碼中改為Indeterminate2022/12/2095VisualC#.Net程序設(shè)計(jì)二、CheckBox控件復(fù)選框CheckBox控件列出了二、CheckBox控件CheckBox控件的事件事件名稱說(shuō)明CheckChanged當(dāng)復(fù)選框的Checked屬性改變時(shí),就引發(fā)該事件。注意在復(fù)選框中,當(dāng)ThreeState屬性為true時(shí),單擊復(fù)選框不會(huì)改變Checked屬性。在復(fù)選框從Checked變?yōu)镮ndeterminate狀態(tài)時(shí),就會(huì)出現(xiàn)這種情況CheckStateChanged當(dāng)CheckState屬性改變時(shí),就引發(fā)該事件,CheckState屬性的值可以是Checked、Unchecked和Indeterminate2022/12/2096VisualC#.Net程序設(shè)計(jì)二、CheckBox控件CheckBox控件的事件事件三、ListBox控件列表框ListBox控件用于顯示一組字符串,可以從中選擇一個(gè)或多個(gè)選項(xiàng)。與復(fù)選框和單選按鈕一樣,列表框也提供了要求用戶選擇一個(gè)或多個(gè)選項(xiàng)的方式。ListBox控件的屬性屬性名稱說(shuō)明SelectedIndex該值表示列表框中選項(xiàng)的索引(索引從0開(kāi)始)。如果列表框可以一次選擇多個(gè)選項(xiàng),這個(gè)屬性就表示選中列表中的第一個(gè)選項(xiàng)ColumnWidth在包含多個(gè)列的列表框中,指定列的寬度ItemsItems集合包含列表框中的所有選項(xiàng),使用這個(gè)集合的屬性可以增加和刪除選項(xiàng)MultiColumn列表框可以有多個(gè)列。使用這個(gè)屬性可以獲取或設(shè)置列表框中列的個(gè)數(shù)SelectedIndies這個(gè)屬性是個(gè)集合,包含列表框中選中選項(xiàng)的所有索引SelectedItem在只能選擇一個(gè)選項(xiàng)的列表框中,這個(gè)屬性包含選中的選項(xiàng)。在可以選擇多個(gè)選的列表框中,這個(gè)屬性包含選中項(xiàng)中的第一個(gè)選項(xiàng)SelectedItems這個(gè)屬性是個(gè)集合,包含當(dāng)前選中的所有選項(xiàng)SelectionMode在列表框中??梢允褂肔istSelecttionMode枚舉中的4種選擇模式:None:不能選擇任何選項(xiàng)One:一次只能選擇一個(gè)選項(xiàng)MnltiSimple:可以選擇多個(gè)選項(xiàng),使用這個(gè)模式,在單擊列表中的一項(xiàng)時(shí),該項(xiàng)就會(huì)被選中,即使單擊另一項(xiàng),該項(xiàng)也仍保持選中狀態(tài),除非再次單擊它MnltiExtended:可以選擇多個(gè)選項(xiàng),用戶還可以使用Ctrl、Shift和箭頭鍵進(jìn)行選擇。它與MnltiSimple不同,如果先單擊一項(xiàng),然后單擊另一項(xiàng),則只選中第二個(gè)單擊的項(xiàng)Sorted把這個(gè)屬性設(shè)置為true,會(huì)使列表框?qū)λ倪x項(xiàng)按照字母順序排

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論