《C#面向?qū)ο蟪绦蛟O(shè)計(jì)》第8章:控件及GUI程序設(shè)計(jì).ppt
《《C#面向?qū)ο蟪绦蛟O(shè)計(jì)》第8章:控件及GUI程序設(shè)計(jì).ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《《C#面向?qū)ο蟪绦蛟O(shè)計(jì)》第8章:控件及GUI程序設(shè)計(jì).ppt(61頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、第8章 控件及GUI程序設(shè)計(jì),主要內(nèi)容與學(xué)習(xí)目標(biāo) 8.1 滾動(dòng)條 8.2 Windows窗體事件及事件處理程序 8.3 復(fù)選框和單選按鈕 8.4 Connection對(duì)象和Command對(duì)象 8.5 使用SqlDataReader 8.6 創(chuàng)建三層應(yīng)用程序 8.7 PictureBox圖片框控件 8.8 組合框控件和文本框控件 8.9 列表框 8.10 帶復(fù)選框的列表框,主要內(nèi)容與學(xué)習(xí)目標(biāo),主要內(nèi)容: (1)滾動(dòng)條、用戶定義的顏色。 (2)Windows窗體事件及事件處理程序。 (3)創(chuàng)建具有默認(rèn)名稱的默認(rèn)事件處理程序、將多個(gè)事件綁定到單個(gè)事件處理程序。 (4)使用事件處理程序中引發(fā)事件的對(duì)象
2、參數(shù)。 (5)復(fù)選框和單選按鈕。 (6)Connection和Command對(duì)象。 (7)創(chuàng)建到數(shù)據(jù)庫(kù)的連接、打開到數(shù)據(jù)庫(kù)的連接、關(guān)閉到數(shù)據(jù)庫(kù)的連接。 (8)創(chuàng)建sqlCommand對(duì)象、使用sqlCommand對(duì)象執(zhí)行SQL命令。 (9)創(chuàng)建三層應(yīng)用程序。 (10)TabControl控件。 (11)SqlDataReader。 (12)圖片框控件。 (13)組合框和文本框。 (14)列表框。 (15)帶復(fù)選框的列表框。 學(xué)習(xí)目標(biāo): (1)創(chuàng)建圖形用戶界面。 (2)創(chuàng)建并操作按鈕、滾動(dòng)條、文本框和標(biāo)簽。 (3)使用列表框和組合框顯示列表。 (4)理解、使用并創(chuàng)建事件。 (5)使用Connec
3、tion、Command和SqlDataReader對(duì)象。 (6)創(chuàng)建三層應(yīng)用程序。,8.1 滾動(dòng)條,可使用滾動(dòng)條控件為用戶輸入數(shù)值數(shù)據(jù),該數(shù)值數(shù)據(jù)可以在控件中顯示,也可以在代碼中使用?;?yàn)樽陨聿惶峁L動(dòng)條的容器(如PictureBox)實(shí)現(xiàn)滾動(dòng)。 任務(wù)8.1:調(diào)色板 問(wèn)題描述:創(chuàng)建一調(diào)色板程序,說(shuō)明怎樣使用滾動(dòng)條為用戶輸入數(shù)值數(shù)據(jù),該數(shù)值數(shù)據(jù)在代碼中使用以調(diào)節(jié)顏色和透明度,并將數(shù)據(jù)值顯示在控件中。 調(diào)色板程序的功能如下。 (1)當(dāng)程序被啟動(dòng)時(shí),水平滾動(dòng)條的滑塊處于滾動(dòng)條的最右端, 垂直滾動(dòng)條的滑塊處于滾動(dòng)條的最下端,標(biāo)簽中顯示每一滾動(dòng)條的值(如圖8.1所示)。 (2)通過(guò)單擊“滾動(dòng)條”的右箭
4、頭圖標(biāo)或左箭頭圖標(biāo)來(lái)改變滾動(dòng)條滑塊的位置,標(biāo)簽的正文能反映這個(gè)變化。例如,當(dāng)水平滾動(dòng)條的滑塊在左端時(shí),標(biāo)簽顯示值為0;當(dāng)滑塊在右端時(shí),標(biāo)簽顯示值為255。水平滾動(dòng)條的滑塊位置改變時(shí),標(biāo)簽的背景顏色發(fā)生改變,垂直滾動(dòng)條的滑塊滾動(dòng)時(shí),標(biāo)簽的透明度發(fā)生改變。 解決方案: (1)創(chuàng)建名為Mycolor的【W(wǎng)indows應(yīng)用程序】項(xiàng)目。 (2)添加控件并設(shè)置屬性。選擇新建窗體,按照如圖8.1所示的界面布局從“工具箱”的【W(wǎng)indows窗體】選項(xiàng)卡中,向新建的窗體添加控件,用鼠標(biāo)將控件拖放到適當(dāng)位置。根據(jù)表8.1設(shè)置控件的屬性。 (3)編寫應(yīng)用程序的代碼。 (4)將vsbA、hsbG和hsbB的Scrol
5、l事件綁定到事件處理程序ScrollBar_Scroll。 (5)測(cè)試應(yīng)用程序。 8.1.1 滾動(dòng)條常用屬性 8.1.2 滾動(dòng)條常用事件 8.1.3 用戶定義的顏色,圖8.1 調(diào)色板程序,表8.1 屬性表,8.1.1 滾動(dòng)條常用屬性,1. Minimum 2. Maximum 注意:滾動(dòng)條的最大值不能通過(guò)運(yùn)行時(shí)的用戶交互來(lái)達(dá)到。用戶交互可以達(dá)到的最大值等于Maximum。 3. Value 4. LargeChange 5. SmallChange,8.1.2 滾動(dòng)條常用事件,Scroll事件為滾動(dòng)條常用事件。 在通過(guò)鼠標(biāo)或鍵盤操作移動(dòng)滾動(dòng)框后發(fā)生Scroll事件。該事件可由多種操作產(chǎn)生,例如
6、單擊滾動(dòng)條箭頭、按向上箭頭或向下箭頭、或者拖動(dòng)滾動(dòng)框。 一般來(lái)說(shuō),在設(shè)計(jì)階段設(shè)置滾動(dòng)條的Max、Min、LargeChange和SmallChange屬性,而在程序運(yùn)行階段通過(guò)Scroll事件過(guò)程獲取Value屬性賦值的變化,監(jiān)視用戶對(duì)滾動(dòng)條的操作。,8.1.3 用戶定義的顏色,可以使用Color.FromArgb方法創(chuàng)建用戶定義的顏色。此方法使您可以指定一種顏色中紅色、藍(lán)色和綠色各部分的強(qiáng)度。 此代碼生成一種用戶定義的顏色,該顏色大致為略帶藍(lán)色的灰色。每個(gè)數(shù)字均必須是從0到255之間的一個(gè)整數(shù),其中0表示沒有該顏色,而255則為所指定顏色的完整飽和度。因此,Color.FromArgb(0,
7、 0, 0)呈現(xiàn)為黑色,而Color.FromArgb(255, 255, 255)呈現(xiàn)為白色。 使用此方法還可以指定Alpha部分。這時(shí)Color.FromArgb方法還要增加一個(gè)參數(shù)Alpha,Alpha表示所呈現(xiàn)圖形后面的對(duì)象的透明度。如果需要指定Alpha部分,則它應(yīng)為Color.FromArgb方法中4個(gè)參數(shù)的第一個(gè)參數(shù),并且需要從0到255之間的一個(gè)整數(shù)。 FromArgb(int alpha, int red, int green, int blue)方法從4個(gè)ARGB分量(alpha、紅色、綠色和藍(lán)色)值創(chuàng)建Color結(jié)構(gòu)。其中參數(shù)如下。 alpha:透明度分量。有效值為從0到
8、255。 red:紅色分量。有效值為從0到255。 green:綠色分量。有效值為從0到255。 blue:藍(lán)色分量。有效值為從0到255。 此方法的返回值為創(chuàng)建的Color結(jié)構(gòu)。 在以上調(diào)色板程序中,用垂直滾動(dòng)條vsbA指定alpha參數(shù)的值,水平滾動(dòng)條hsbR指定red參數(shù)的值,水平滾動(dòng)條hsbG指定green參數(shù)的值,水平滾動(dòng)條hsbB指定blue參數(shù)的值。具體代碼如下: alpha = vsbA.Value; red = hsbR.Value; green = hsbG.Value; blue = hsbB.Value; 由于Color.FromArgb方法中每個(gè)參數(shù)的有效值為從0到2
9、55。因此每個(gè)滾動(dòng)條的Minimum和Maximum屬性分別設(shè)置為0和255,它們確定了用戶可以選擇的值范圍。,8.2 Windows窗體事件及事件處理程序,事件是可以通過(guò)代碼響應(yīng)或“處理”的操作。事件可由用戶操作(如單擊鼠標(biāo)或按某個(gè)鍵)、程序代碼生成或系統(tǒng)生成。 事件處理程序是綁定到事件的方法。當(dāng)引發(fā)事件時(shí),執(zhí)行事件處理程序內(nèi)的代碼。每個(gè)事件處理程序提供兩個(gè)參數(shù)。下面的例子顯示button控件的Click事件的事件處理程序button1_Click: private void button1_Click(object sender, System.EventArgs e) 第一個(gè)參數(shù)sen
10、der提供對(duì)引發(fā)事件的對(duì)象的引用。第二個(gè)參數(shù)e是要處理的事件對(duì)象,通過(guò)引用事件對(duì)象的屬性(有時(shí)引用其方法)可獲得一些信息,如單擊鼠標(biāo)事件中鼠標(biāo)的位置。 在前面的示例中,事件處理程序不需要使用由事件源對(duì)象和事件數(shù)據(jù)對(duì)象提供的信息。但在很多情況下,如果事件處理程序需要使用由事件源對(duì)象和事件數(shù)據(jù)對(duì)象提供的信息,這時(shí)事件處理程序就需要使用事件處理程序中的兩個(gè)參數(shù)。 任務(wù)8.2:計(jì)算器 問(wèn)題描述:創(chuàng)建一計(jì)算器應(yīng)用程序(如圖8.2所示),該計(jì)算器能實(shí)現(xiàn)加、減、乘、除、倒數(shù)等功能。 8.2.1 Button按鈕的常用屬性 8.2.2 Button按鈕的常用事件,圖8.2 計(jì)算器,8.2.1 Button按鈕
11、的常用屬性,1. Text 注意:如果具有焦點(diǎn)的控件接受并處理按Enter鍵的操作,則Button不處理此操作。例如,如果某個(gè)多行的TextBox控件或其他按鈕具有焦點(diǎn),則該控件將處理按Enter鍵的操作,而不是“接受”按鈕處理此操作。 2. FlatStyle,8.2.2 Button按鈕的常用事件,Click事件:用戶單擊按鈕時(shí)發(fā)生該事件。,8.3 復(fù)選框和單選按鈕,復(fù)選框和單選按鈕是兩種狀態(tài)按鈕,它們可為用戶提供“是/否”或“真/假”選擇。但復(fù)選框和單選按鈕不同,用戶可以從成組使用的復(fù)選框中選擇一項(xiàng)或多項(xiàng),但在成組使用的單選按鈕中一次只能選擇一個(gè)單選按鈕。單選按鈕常用于互相排斥的選項(xiàng)。
12、任務(wù)8.3:Font程序 問(wèn)題描述:創(chuàng)建如圖8.3所示的字體應(yīng)用程序,當(dāng)單擊復(fù)選框時(shí),文本框的文字顯示不同的字體,當(dāng)單擊單選按鈕時(shí),文本框的文字顯示不同的顏色。 解決方案: (1)創(chuàng)建項(xiàng)目和窗體。 創(chuàng)建名為font的Windows應(yīng)用程序。 按圖8.3所示的界面向窗體上添加控件。按表8.3設(shè)置屬性。 (2)向窗體類中添加字段和方法。 (3)編寫復(fù)選框的CheckedChanged事件處理程序。 (4)編寫單選按鈕的CheckedChanged事件處理程序。 8.3.1 如何設(shè)置字體 8.3.2 復(fù)選框的常用屬性 8.3.3 復(fù)選框的常用事件 8.3.4 單選按鈕的常用屬性 8.3.5 單選按鈕
13、的常用事件,圖8.3 字體程序,表8.3 屬性表,8.3.1 如何設(shè)置字體,Font類定義特定的文本格式,包括字體、字號(hào)和字形屬性。使用Font類創(chuàng)建Font類的對(duì)象。 1. 創(chuàng)建Font類的對(duì)象 2. Font類的常用屬性,8.3.2 復(fù)選框的常用屬性,1. Checked 2. CheckState 讀取或設(shè)置復(fù)選框的狀態(tài)。其值為CheckState枚舉值之一。表8.4列出了CheckState枚舉值及為該值時(shí)復(fù)選框控件對(duì)應(yīng)于不同Appearance屬性的外觀。 3. Text 4. Appearance,表8.4 CheckState枚舉值及復(fù)選框控件的外觀,8.3.3 復(fù)選框的常用事件
14、,1. Click 2. CheckedChanged 3. CheckStateChanged,8.3.4 單選按鈕的常用屬性,1. Checked 使用Checked屬性可以獲取或設(shè)置單選按鈕的狀態(tài)。若選中了單選按鈕,則屬性值為true;反之,則為false。 2. Text 單選按鈕右側(cè)顯示的文本。,8.3.5 單選按鈕的常用事件,1. Click 在單擊單選按鈕控件時(shí)發(fā)生。 2. CheckedChanged 每次選中或取消選中單選按鈕的時(shí)候發(fā)生。當(dāng)用戶雙擊設(shè)計(jì)器中的這個(gè)控件時(shí),該事件為默認(rèn)事件。,8.4 Connection對(duì)象和Command對(duì)象,前面的章節(jié)忽略了數(shù)據(jù)存儲(chǔ)問(wèn)題,系統(tǒng)
15、停止運(yùn)行后所有的數(shù)據(jù)都會(huì)消失。當(dāng)然,在一個(gè)真實(shí)的應(yīng)用程序中,必須找到存儲(chǔ)數(shù)據(jù)的一種方式,我們可以使用數(shù)據(jù)庫(kù)對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ)。 訪問(wèn)數(shù)據(jù)庫(kù)的第一步是與數(shù)據(jù)庫(kù)源建立連接,只有建立了連接,才有可能實(shí)現(xiàn)在數(shù)據(jù)庫(kù)和應(yīng)用程序之間移動(dòng)數(shù)據(jù)。ADO.NET提供了以下兩個(gè)連接對(duì)象,可以使用這兩個(gè)連接對(duì)象之一創(chuàng)建和管理應(yīng)用程序與數(shù)據(jù)庫(kù)之間的連接。這些連接對(duì)象具有各種屬性和方法,可以使用它們打開和關(guān)閉數(shù)據(jù)庫(kù)連接,并且發(fā)出查詢請(qǐng)求來(lái)更新信息。 SqlConnection:該對(duì)象管理與 SQL Server 7.0 版或更高版本的連接。 OleDbConnection:該對(duì)象管理與可通過(guò)OLE DB訪問(wèn)的任何數(shù)據(jù)存儲(chǔ)區(qū)的
16、連接。 8.4.1 Connection對(duì)象 8.4.2 Command對(duì)象,8.4.1 Connection對(duì)象,任務(wù)8.4:創(chuàng)建并打開一個(gè)到SQL Server的連接 問(wèn)題描述:創(chuàng)建一應(yīng)用程序,該程序演示如何使用SqlConnection對(duì)象創(chuàng)建和打開一個(gè)到SQL Server的連接,如何使用SqlCommand對(duì)象提交一個(gè)SQL命令,以修改SQL Server數(shù)據(jù)庫(kù)(見圖8.4)。 解決方案: (1)創(chuàng)建項(xiàng)目和窗體。創(chuàng)建名為TestSQL 的Windows應(yīng)用程序。按圖8.4所示的界面向窗體上添加控件。并按表8.5設(shè)置屬性。 (2)編寫連接數(shù)據(jù)庫(kù)的代碼。雙擊【連接】按鈕。添加如下代碼到b
17、tnConnect_Click 事件處理程序中: (3)測(cè)試程序。按F5鍵運(yùn)行該應(yīng)用程序。單擊【連接】按鈕,打開如圖8.5所示的顯示連接消息框。,圖8.4 操作數(shù)據(jù)庫(kù),表8.5 屬性表,圖8.5 連接數(shù)據(jù)庫(kù),8.4.2 Command對(duì)象,Command對(duì)象可用來(lái)存放要對(duì)SQL Server數(shù)據(jù)庫(kù)執(zhí)行的一個(gè)Transact-SQL語(yǔ)句或存儲(chǔ)過(guò)程,并能執(zhí)行該Transact-SQL語(yǔ)句或存儲(chǔ)過(guò)程,利用Command對(duì)象可直接對(duì)數(shù)據(jù)庫(kù)進(jìn)行處理。 任務(wù)8.5:操作數(shù)據(jù)庫(kù) 問(wèn)題描述:繼續(xù)完成“任務(wù)8.4”,單擊【執(zhí)行SQL】按鈕,使用文本框中輸入的SQL命令修改SQL Server數(shù)據(jù)庫(kù)中的數(shù)據(jù)。 解
18、決方案: (1)打開frmConnect窗體。 (2)雙擊【執(zhí)行SQL】按鈕。在btnExecute_Click事件處理程序中輸入代碼 (3)測(cè)試程序。按F5鍵運(yùn)行該應(yīng)用程序。在文本框中輸入對(duì)Northwind數(shù)據(jù)庫(kù)中的表有效的INSERT、UPDATE或DELETE命令。單擊【執(zhí)行SQL】按鈕,執(zhí)行btnExecute_Click事件處理程序,所影響的行數(shù)顯示在文本框中(如圖8.6)。,圖8.6 使用Command對(duì)象,8.5 使用SqlDataReader,SqlDataReader提供了一種讀取通過(guò)在數(shù)據(jù)源執(zhí)行查詢命令獲得的結(jié)果集中的數(shù)據(jù)的一種方法。SqlDataReader是實(shí)現(xiàn)IDa
19、taReader接口的類,若要?jiǎng)?chuàng)建SqlDataReade對(duì)象,必須調(diào)用SqlCommand對(duì)象的ExecuteReader方法,而不直接使用構(gòu)造函數(shù)。SqlDataReader是一個(gè)包含表格式形式(即行和列)的查詢結(jié)果集??赏ㄟ^(guò)SqlDataReader對(duì)象的屬性或方法訪問(wèn)SqlDataReader中的數(shù)據(jù)。 任務(wù)8.6:雇員信息管理 問(wèn)題描述:對(duì)SQL Server中的Northwind數(shù)據(jù)庫(kù)創(chuàng)建一數(shù)據(jù)庫(kù)應(yīng)用程序,該應(yīng)用程序能夠?qū)崿F(xiàn)瀏覽每一雇員的相關(guān)信息,如圖8.7所示。 解決方案: (1)創(chuàng)建項(xiàng)目和窗體。創(chuàng)建項(xiàng)目名為Northwind的Windows應(yīng)用程序。 (2)向Windows窗體
20、添加選項(xiàng)卡并設(shè)置選項(xiàng)卡的屬性。Windows窗體TabControl顯示多個(gè)選項(xiàng)卡,這些選項(xiàng)卡類似于筆記本中的分隔卡和檔案柜文件夾中的標(biāo)簽。選項(xiàng)卡中可包含圖片和其他控件。 (3)將控件添加到選項(xiàng)卡頁(yè)。 單擊【個(gè)人信息】選項(xiàng)卡頁(yè)以使其顯示在最前面。 按圖8.8所示的界面從“工具箱”的【W(wǎng)indows窗體】選項(xiàng)卡中,向【個(gè)人信息】選項(xiàng)卡添加控件,用鼠標(biāo)將控件拖放到適當(dāng)位置。并向Windows窗體添加7個(gè)按鈕控件。 根據(jù)屬性表8.6設(shè)置控件的屬性。 單擊【其他信息】選項(xiàng)卡頁(yè)以使其顯示在最前面。 按圖8.9所示的界面從“工具箱”的【W(wǎng)indows窗體】選項(xiàng)卡中,向【其他信息】選項(xiàng)卡添加控件,用鼠標(biāo)將控
21、件拖放到適當(dāng)位置。 根據(jù)屬性表8.7設(shè)置控件的屬性。 創(chuàng)建Employee類。,圖8.7 雇員信息管理應(yīng)用程序,圖8.8 雇員信息管理用戶界面,表8.6 屬性表,圖8.9 雇員信息管理用戶界面,表8.7 屬性表,8.6 創(chuàng)建三層應(yīng)用程序,三層應(yīng)用程序設(shè)計(jì)要求應(yīng)用程序中交互作用的對(duì)象被分成3種類問(wèn)題域類、GUI類和數(shù)據(jù)存取類。問(wèn)題域類是特定于業(yè)務(wù)應(yīng)用程序的對(duì)象的類,如雇員(Employee)類、客戶(Customer)類和產(chǎn)品(Product)類等,問(wèn)題域類是對(duì)實(shí)際的業(yè)務(wù)實(shí)體的建模,它用來(lái)封裝對(duì)象的數(shù)據(jù),存儲(chǔ)對(duì)象的信息。GUI類可將組成用戶界面的對(duì)象定義到應(yīng)用程序中,如按鈕、標(biāo)簽、文本框和列表框
22、等。GUI類提供用于數(shù)據(jù)輸入和顯示的用戶界面。數(shù)據(jù)存取類提供存取對(duì)象有關(guān)的操作,將對(duì)象的有關(guān)信息存儲(chǔ)于數(shù)據(jù)庫(kù)或文件中,以實(shí)現(xiàn)對(duì)象的永久存儲(chǔ),供以后使用,或從數(shù)據(jù)庫(kù)中檢索數(shù)據(jù)存儲(chǔ)于對(duì)象中,供其他對(duì)象使用。 三層設(shè)計(jì)要求應(yīng)用程序開發(fā)人員在設(shè)計(jì)和構(gòu)建應(yīng)用程序時(shí)定義3種類。首先,程序設(shè)計(jì)人員標(biāo)識(shí)和定義問(wèn)題域類。然后定義數(shù)據(jù)存取類以允許問(wèn)題域類與數(shù)據(jù)存取類的交互作用。定義了這些類之后程序設(shè)計(jì)人員就會(huì)定義如何使用GUI類以允許用戶與問(wèn)題域類的交互作用。這三層全部完成之后,它們即準(zhǔn)備聯(lián)合起來(lái)作為一個(gè)完整的應(yīng)用程序。圖8.10顯示了這三層是如何交互作用的。 三層結(jié)構(gòu)可以滿足常用的MVC設(shè)計(jì)模式。讓這三層將用戶
23、界面、業(yè)務(wù)應(yīng)用程序?qū)ο蠛蛿?shù)據(jù)存取類的功能分離,系統(tǒng)維護(hù)變得簡(jiǎn)單化,因?yàn)閷?duì)GUI所做的許多更改都不會(huì)影響問(wèn)題域類和數(shù)據(jù)存取類。同樣,對(duì)數(shù)據(jù)存取類所做的許多更改也不會(huì)影響問(wèn)題域類或GUI類。例如,可以對(duì)數(shù)據(jù)存取類進(jìn)行修改從而升級(jí)或更改數(shù)據(jù)庫(kù)管理軟件(如將SQL Server改為Oracle),但不會(huì)影響問(wèn)題域類或GUI類,同樣,可以對(duì)圖形用戶界面進(jìn)行升級(jí)或更改,也不會(huì)影響其他層。 任務(wù)8.7:增強(qiáng)雇員信息管理程序,圖8.10 三層交互作用示意,8.7 PictureBox圖片框控件,通常使用PictureBox來(lái)顯示位圖、圖標(biāo)、JPEG或GIF文件中的圖形。 在設(shè)計(jì)時(shí)或運(yùn)行時(shí)將Image屬性設(shè)置為
24、要顯示的圖像。在顯示區(qū)域中剪輯和定位圖像由設(shè)置為PictureBoxSizeMode枚舉中的值的SizeMode屬性來(lái)控制。 默認(rèn)情況下,PictureBox控件在顯示時(shí)沒有任何邊框。即使圖片框不包含任何圖像,仍可以使用BorderStyle屬性提供一個(gè)標(biāo)準(zhǔn)或三維的邊框,以便使圖片框與窗體的其余部分區(qū)分。 任務(wù)8.8:雇員相片管理 問(wèn)題描述:增強(qiáng)雇員管理程序的功能,要求能夠修改、添加和刪除雇員的相片(如圖10.11所示)。 8.7.1 PictureBox的常用屬性 8.7.2 PictureBox的常用事件 8.7.3 Image.FromFile方法,圖10.11 字體程序,8.7.1 P
25、ictureBox的常用屬性,1. Image 2. BorderStyle 指示控件的邊框樣式。屬性值為BorderStyle枚舉值之一。BorderStyle枚舉值見表8.8。 BorderStyle屬性默認(rèn)值為None。,表8.8 BorderStyle枚舉值,8.7.2 PictureBox的常用事件,1. Click 用戶單擊控件時(shí)發(fā)生該事件。 2. DoubleClick 用戶雙擊控件時(shí)發(fā)生該事件。,8.7.3 Image.FromFile方法,Image.FromFile(string filename)方法從指定的文件創(chuàng)建Image對(duì)象。 其中filename為字符串,它包含要
26、從中創(chuàng)建 Image對(duì)象的文件的名稱。此方法的返回值為創(chuàng)建的Image對(duì)象。,8.8 組合框控件和文本框控件,Windows窗體ComboBox控件用于在下拉組合框中顯示數(shù)據(jù)。默認(rèn)情況下,ComboBox控件分兩個(gè)部分顯示:頂部是一個(gè)允許用戶輸入列表項(xiàng)的文本框。第二部分是一個(gè)列表框,它顯示一個(gè)項(xiàng)列表,用戶可從中選擇一項(xiàng)。 SelectedIndex屬性返回一個(gè)整數(shù)值,該值與選定的列表項(xiàng)相對(duì)應(yīng)。通過(guò)在代碼中更改 SelectedIndex值,可以編程方式更改選定項(xiàng);列表中的相應(yīng)項(xiàng)將出現(xiàn)在組合框的文本框部分。如果未選定任何項(xiàng),則SelectedIndex值為-1。如果選定列表中的第一項(xiàng),則Sele
27、ctedIndex 值為0。SelectedItem屬性與SelectedIndex類似,但它返回項(xiàng)本身,通常是一個(gè)字符串值。Items.Count屬性反映列表中的項(xiàng)數(shù),并且Items.Count屬性的值總比SelectedIndex的最大可能值大1,因?yàn)镾electedIndex是從零開始的。 若要在ListBox控件中添加或刪除項(xiàng),可使用Items.Add、Items.Insert、Items.Clear 或 Items.Remove方法。或者,可以在設(shè)計(jì)器中使用Items屬性向列表添加項(xiàng)。 TextBox控件可用于接受密碼,可以使用PasswordChar屬性屏蔽在控件的單行版本中輸入的
28、字符。也可以通過(guò)將ReadOnly屬性設(shè)置為true來(lái)限制TextBox控件中的所有數(shù)據(jù)項(xiàng)輸入。 任務(wù)8.9:登錄程序 問(wèn)題描述:創(chuàng)建一個(gè)Login程序(如圖8.12所示),讓用戶選擇登錄名稱,輸入密碼,在【確定】命令按鈕的Click事件中,調(diào)用事件處理程序,驗(yàn)證用戶輸入的密碼(密碼為用戶名稱加用戶的出生日期)。Login程序還提供了一個(gè)用戶的圖片和文本描述。如果驗(yàn)證用戶輸入的密碼正確,則進(jìn)入雇員管理窗體。 8.8.1 ComboBox的常用屬性和方法 8.8.2 列表框控件的常用事件 8.8.3 TextBox的常用屬性 8.8.4 TextBox的常用事件,圖8.12 登錄程序,8.8.1
29、 ComboBox的常用屬性和方法,1. Items 2. SelectedIndex 3. SelectedItem 4. Text 5. DropDownStyle 該屬性確定要顯示的組合框的樣式,也就是確定用戶能否在文本部分中輸入新值以及列表部分是否總顯示。其枚舉值如表8.10所示。 6. ComboBox.Items.Add 7. ComboBox.Items.Insert 8. ComboBox.Items.Remove 9. ComboBox.Items.RemoveAt 10. ComboBox.Items.Clear,表8.10 DropDownStyle枚舉值,8.8.2 列
30、表框控件的常用事件,SelectedIndexChanged 選定的索引發(fā)生變化時(shí)會(huì)發(fā)生該事件。,8.8.3 TextBox的常用屬性,1. Text 2. PasswordChar 3. MaxLength 4. ReadOnly 5. ScrollBars 獲取或設(shè)置哪些滾動(dòng)條應(yīng)出現(xiàn)在多行TextBox控件中。屬性值為ScrollBars枚舉值之一(見表8.11),以指示多行TextBox控件在顯示時(shí)沒有滾動(dòng)條、有水平滾動(dòng)條、有垂直滾動(dòng)條還是兩種滾動(dòng)條都有。默認(rèn)值為ScrollBars.None。 6. Multiline 7. TextBoxBase.WordWrap 8. Select
31、ionStart 9. SelectionLength 10. TextAlign 獲取或設(shè)置TextBox控件中文本的對(duì)齊方式。屬性值為HorizontalAlignment枚舉值之一(見表8.12),以指定控件中文本的對(duì)齊方式。默認(rèn)值為HorizontalAlignment.Left。 11. AcceptsReturn,表8.11 ScrollBars枚舉值,表8.12 HorizontalAlignment枚舉,8.8.4 TextBox的常用事件,TextChanged 文本框中的文本發(fā)生變化時(shí)(用戶添加或刪除字符)發(fā)生該事件。,8.9 列表框,ListBox控件顯示一個(gè)項(xiàng)列表,用戶
32、可以查看并選擇列表中的一項(xiàng)或多項(xiàng)。如果項(xiàng)總數(shù)超出可以顯示的項(xiàng)數(shù),則自動(dòng)向ListBox控件添加滾動(dòng)條。當(dāng)MultiColumn屬性設(shè)置為true時(shí),列表框以多列形式顯示項(xiàng),并且會(huì)出現(xiàn)一個(gè)水平滾動(dòng)條。當(dāng)MultiColumn屬性設(shè)置為false時(shí),列表框以單列形式顯示項(xiàng),并且會(huì)出現(xiàn)一個(gè)垂直滾動(dòng)條。當(dāng)ScrollAlwaysVisible設(shè)置為true時(shí),無(wú)論項(xiàng)數(shù)多少都將顯示滾動(dòng)條。 SelectedItem屬性類似于SelectedIndex,但它返回項(xiàng)本身,通常是字符串值。Items.Count屬性反映列表中的項(xiàng)數(shù),并且Items.Count屬性的值總比SelectedIndex的最大可能值大
33、1,因?yàn)镾electedIndex是從零開始的。 若要在ListBox控件中添加或刪除項(xiàng),可使用Items.Add、Items.Insert、Items.Clear或Items.Remove方法?;蛘撸梢栽谠O(shè)計(jì)時(shí)使用Items屬性向列表添加項(xiàng)。 CheckedListBox控件對(duì)ListBox控件進(jìn)行了擴(kuò)展。該控件在列表中的項(xiàng)旁邊提供了一個(gè)復(fù)選框,這樣,用戶可同時(shí)勾選多個(gè)列表項(xiàng)。 任務(wù)8.10:產(chǎn)品信息管理 主要知識(shí)點(diǎn):向Windows窗體中的ListBox控件添加項(xiàng)。確定Windows窗體ListBox控件中的選定項(xiàng)。在Windows窗體的ListBox控件中選擇項(xiàng)。在組合框中查找項(xiàng)。使用
34、SqlCommand對(duì)象的ExecuteNonQuery方法執(zhí)行SELECT、INSERT、UPDATE、DELETE SQL命令來(lái)完成查詢、添加、修改或刪除數(shù)據(jù)操作。 問(wèn)題描述:對(duì)SQL Server中的Northwind數(shù)據(jù)庫(kù)創(chuàng)建一數(shù)據(jù)庫(kù)應(yīng)用程序,該應(yīng)用程序能夠?qū)崿F(xiàn)瀏覽每一產(chǎn)品的相關(guān)信息,能對(duì)產(chǎn)品的相關(guān)信息進(jìn)行修改、查詢,能夠添加、刪除產(chǎn)品(如圖8.13所示)。 8.9.1 列表框控件的常用屬性 8.9.2 列表框控件的常用方法 8.9.3 列表框控件的常用事件,圖8.13 產(chǎn)品信息管理,8.9.1 列表框控件的常用屬性,1. Items 2. SelectedIndex 3. Selec
35、tedItem 4. SelectedIndices 5. SelectedItems 6. SelectionMode 7. Sorted,8.9.2 列表框控件的常用方法,1. ListBox.Items.Add 2. ListBox.Items.Insert 3. ListBox.Items.Remove 4. ListBox.Items.RemoveAt 5. ListBox.Items.Clear 6. SetSelected 7. GetSelected,8.9.3 列表框控件的常用事件,SelectedIndexChanged:選定的索引發(fā)生變化時(shí)會(huì)發(fā)生該事件。,8.10 帶復(fù)選
36、框的列表框,CheckedListBox控件從ListBox類派生而來(lái)。它幾乎能完成列表框可以完成的所有任務(wù),并且還可以在列表中的項(xiàng)旁邊顯示復(fù)選標(biāo)記。兩種控件間的其他差異在于,復(fù)選列表框只能有一項(xiàng)選定或沒有任何選定。注意選定的項(xiàng)在窗體上突出顯示,與已選中的項(xiàng)不同。 任務(wù)8.11:CheckedListBoxTest程序 主要知識(shí)點(diǎn):使用ItemCheck事件處理程序。ItemCheckEventArgs類型的參數(shù)。使用帶復(fù)選列表框的CheckOnClick屬性。獲取復(fù)選列表框中的指定項(xiàng)的復(fù)選狀態(tài)。 問(wèn)題描述: 創(chuàng)建一CheckedListBoxTest程序(如圖8.14所示),演示復(fù)選列表框控
37、件一些特有的基本操作。 解決方案: (1)創(chuàng)建項(xiàng)目和窗體。 啟動(dòng) Visual Studio。 創(chuàng)建名為CheckedListBoxTest的Windows應(yīng)用程序。 按圖8.14所示的界面向窗體上添加控件。 按表8.14設(shè)置屬性。 (2)編寫復(fù)選列表框中選擇選項(xiàng)的ItemCheck事件處理程序。 (3)編寫chkOnClick復(fù)選框控件的CheckedChanged事件處理程序。 (4)編寫【添加】按鈕的CheckedChanged事件處理程序。 (5)編寫文本框控件的TextChanged事件處理程序。 8.10.1 復(fù)選列表框控件的常用屬性 8.10.2 復(fù)選列表框控件的常用方法和事件,圖8.14 CheckedListBoxTest程序,表8.14 屬性表,8.10.1 復(fù)選列表框控件的常用屬性,1. CheckedItems 2. CheckedIndices 3. CheckOnClick 4. SelectionMode,8.10.2 復(fù)選列表框控件的常用方法和事件,1. GetItemChecked(index)方法 該方法取項(xiàng)的索引為參數(shù),如果該項(xiàng)被選中,則返回值為true,否則為false。 2. ItemCheck事件 當(dāng)復(fù)選列表框中某項(xiàng)的選中狀態(tài)發(fā)生變化時(shí)就發(fā)生ItemCheck事件。,
- 溫馨提示:
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ù)覽,若沒有圖紙預(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《光的折射》課件-(公開課獲獎(jiǎng))2022年滬科版物理-
- UV油墨的基礎(chǔ)知識(shí)課件
- 藍(lán)色簡(jiǎn)約后備護(hù)士長(zhǎng)競(jìng)聘動(dòng)態(tài)課件
- 藍(lán)色清新筆記本翻頁(yè)年終總結(jié)模板課件
- 81二元一次方程組課件(人教版七年級(jí)下)
- 局部解剖學(xué)-頭部-蝶鞍區(qū)、海綿竇、硬腦膜
- 7273第1課時(shí) 位似圖形及作圖
- 供應(yīng)鏈管理-PPT
- 幼兒園管理過(guò)程
- 4索溪谷的“野”2
- 外科補(bǔ)液注意問(wèn)題
- 組織行為學(xué)--價(jià)值觀與態(tài)度
- 燈光教學(xué)課件1
- 中原城市春季車展招商方案
- 祛痰劑醫(yī)學(xué)知識(shí)專家講座