《C#面向?qū)ο蟪绦蛟O(shè)計(jì)》第8章:控件及GUI程序設(shè)計(jì).ppt_第1頁
《C#面向?qū)ο蟪绦蛟O(shè)計(jì)》第8章:控件及GUI程序設(shè)計(jì).ppt_第2頁
《C#面向?qū)ο蟪绦蛟O(shè)計(jì)》第8章:控件及GUI程序設(shè)計(jì).ppt_第3頁
《C#面向?qū)ο蟪绦蛟O(shè)計(jì)》第8章:控件及GUI程序設(shè)計(jì).ppt_第4頁
《C#面向?qū)ο蟪绦蛟O(shè)計(jì)》第8章:控件及GUI程序設(shè)計(jì).ppt_第5頁
已閱讀5頁,還剩56頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第8章控件及GUI程序設(shè)計(jì),主要內(nèi)容與學(xué)習(xí)目標(biāo)8.1滾動(dòng)條8.2Windows窗體事件及事件處理程序8.3復(fù)選框和單選按鈕8.4Connection對象和Command對象8.5使用SqlDataReader8.6創(chuàng)建三層應(yīng)用程序8.7PictureBox圖片框控件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ā)事件的對象參數(shù)。(5)復(fù)選框和單選按鈕。(6)Connection和Command對象。(7)創(chuàng)建到數(shù)據(jù)庫的連接、打開到數(shù)據(jù)庫的連接、關(guān)閉到數(shù)據(jù)庫的連接。(8)創(chuàng)建sqlCommand對象、使用sqlCommand對象執(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)使用Connection、Command和SqlDataReader對象。(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)色板問題描述:創(chuàng)建一調(diào)色板程序,說明怎樣使用滾動(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)通過單擊“滾動(dòng)條”的右箭頭圖標(biāo)或左箭頭圖標(biāo)來改變滾動(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的Scroll事件綁定到事件處理程序ScrollBar_Scroll。(5)測試應(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.Minimum2.Maximum注意:滾動(dòng)條的最大值不能通過運(yùn)行時(shí)的用戶交互來達(dá)到。用戶交互可以達(dá)到的最大值等于Maximum。3.Value4.LargeChange5.SmallChange,8.1.2滾動(dòng)條常用事件,Scroll事件為滾動(dòng)條常用事件。在通過鼠標(biāo)或鍵盤操作移動(dòng)滾動(dòng)框后發(fā)生Scroll事件。該事件可由多種操作產(chǎn)生,例如單擊滾動(dòng)條箭頭、按向上箭頭或向下箭頭、或者拖動(dòng)滾動(dòng)框。一般來說,在設(shè)計(jì)階段設(shè)置滾動(dòng)條的Max、Min、LargeChange和SmallChange屬性,而在程序運(yùn)行階段通過Scroll事件過程獲取Value屬性賦值的變化,監(jiān)視用戶對滾動(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,0,0)呈現(xiàn)為黑色,而Color.FromArgb(255,255,255)呈現(xiàn)為白色。使用此方法還可以指定Alpha部分。這時(shí)Color.FromArgb方法還要增加一個(gè)參數(shù)Alpha,Alpha表示所呈現(xiàn)圖形后面的對象的透明度。如果需要指定Alpha部分,則它應(yīng)為Color.FromArgb方法中4個(gè)參數(shù)的第一個(gè)參數(shù),并且需要從0到255之間的一個(gè)整數(shù)。FromArgb(intalpha,intred,intgreen,intblue)方法從4個(gè)ARGB分量(alpha、紅色、綠色和藍(lán)色)值創(chuàng)建Color結(jié)構(gòu)。其中參數(shù)如下。alpha:透明度分量。有效值為從0到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到255。因此每個(gè)滾動(dòng)條的Minimum和Maximum屬性分別設(shè)置為0和255,它們確定了用戶可以選擇的值范圍。,8.2Windows窗體事件及事件處理程序,事件是可以通過代碼響應(yīng)或“處理”的操作。事件可由用戶操作(如單擊鼠標(biāo)或按某個(gè)鍵)、程序代碼生成或系統(tǒng)生成。事件處理程序是綁定到事件的方法。當(dāng)引發(fā)事件時(shí),執(zhí)行事件處理程序內(nèi)的代碼。每個(gè)事件處理程序提供兩個(gè)參數(shù)。下面的例子顯示button控件的Click事件的事件處理程序button1_Click:privatevoidbutton1_Click(objectsender,System.EventArgse)第一個(gè)參數(shù)sender提供對引發(fā)事件的對象的引用。第二個(gè)參數(shù)e是要處理的事件對象,通過引用事件對象的屬性(有時(shí)引用其方法)可獲得一些信息,如單擊鼠標(biāo)事件中鼠標(biāo)的位置。在前面的示例中,事件處理程序不需要使用由事件源對象和事件數(shù)據(jù)對象提供的信息。但在很多情況下,如果事件處理程序需要使用由事件源對象和事件數(shù)據(jù)對象提供的信息,這時(shí)事件處理程序就需要使用事件處理程序中的兩個(gè)參數(shù)。任務(wù)8.2:計(jì)算器問題描述:創(chuàng)建一計(jì)算器應(yīng)用程序(如圖8.2所示),該計(jì)算器能實(shí)現(xiàn)加、減、乘、除、倒數(shù)等功能。8.2.1Button按鈕的常用屬性8.2.2Button按鈕的常用事件,圖8.2計(jì)算器,8.2.1Button按鈕的常用屬性,1.Text注意:如果具有焦點(diǎn)的控件接受并處理按Enter鍵的操作,則Button不處理此操作。例如,如果某個(gè)多行的TextBox控件或其他按鈕具有焦點(diǎn),則該控件將處理按Enter鍵的操作,而不是“接受”按鈕處理此操作。2.FlatStyle,8.2.2Button按鈕的常用事件,Click事件:用戶單擊按鈕時(shí)發(fā)生該事件。,8.3復(fù)選框和單選按鈕,復(fù)選框和單選按鈕是兩種狀態(tài)按鈕,它們可為用戶提供“是/否”或“真/假”選擇。但復(fù)選框和單選按鈕不同,用戶可以從成組使用的復(fù)選框中選擇一項(xiàng)或多項(xiàng),但在成組使用的單選按鈕中一次只能選擇一個(gè)單選按鈕。單選按鈕常用于互相排斥的選項(xiàng)。任務(wù)8.3:Font程序問題描述:創(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單選按鈕的常用事件,圖8.3字體程序,表8.3屬性表,8.3.1如何設(shè)置字體,Font類定義特定的文本格式,包括字體、字號(hào)和字形屬性。使用Font類創(chuàng)建Font類的對象。1.創(chuàng)建Font類的對象2.Font類的常用屬性,8.3.2復(fù)選框的常用屬性,1.Checked2.CheckState讀取或設(shè)置復(fù)選框的狀態(tài)。其值為CheckState枚舉值之一。表8.4列出了CheckState枚舉值及為該值時(shí)復(fù)選框控件對應(yīng)于不同Appearance屬性的外觀。3.Text4.Appearance,表8.4CheckState枚舉值及復(fù)選框控件的外觀,8.3.3復(fù)選框的常用事件,1.Click2.CheckedChanged3.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.4Connection對象和Command對象,前面的章節(jié)忽略了數(shù)據(jù)存儲(chǔ)問題,系統(tǒng)停止運(yùn)行后所有的數(shù)據(jù)都會(huì)消失。當(dāng)然,在一個(gè)真實(shí)的應(yīng)用程序中,必須找到存儲(chǔ)數(shù)據(jù)的一種方式,我們可以使用數(shù)據(jù)庫對數(shù)據(jù)進(jìn)行存儲(chǔ)。訪問數(shù)據(jù)庫的第一步是與數(shù)據(jù)庫源建立連接,只有建立了連接,才有可能實(shí)現(xiàn)在數(shù)據(jù)庫和應(yīng)用程序之間移動(dòng)數(shù)據(jù)。ADO.NET提供了以下兩個(gè)連接對象,可以使用這兩個(gè)連接對象之一創(chuàng)建和管理應(yīng)用程序與數(shù)據(jù)庫之間的連接。這些連接對象具有各種屬性和方法,可以使用它們打開和關(guān)閉數(shù)據(jù)庫連接,并且發(fā)出查詢請求來更新信息。SqlConnection:該對象管理與SQLServer7.0版或更高版本的連接。OleDbConnection:該對象管理與可通過OLEDB訪問的任何數(shù)據(jù)存儲(chǔ)區(qū)的連接。8.4.1Connection對象8.4.2Command對象,8.4.1Connection對象,任務(wù)8.4:創(chuàng)建并打開一個(gè)到SQLServer的連接問題描述:創(chuàng)建一應(yīng)用程序,該程序演示如何使用SqlConnection對象創(chuàng)建和打開一個(gè)到SQLServer的連接,如何使用SqlCommand對象提交一個(gè)SQL命令,以修改SQLServer數(shù)據(jù)庫(見圖8.4)。解決方案:(1)創(chuàng)建項(xiàng)目和窗體。創(chuàng)建名為TestSQL的Windows應(yīng)用程序。按圖8.4所示的界面向窗體上添加控件。并按表8.5設(shè)置屬性。(2)編寫連接數(shù)據(jù)庫的代碼。雙擊【連接】按鈕。添加如下代碼到btnConnect_Click事件處理程序中:(3)測試程序。按F5鍵運(yùn)行該應(yīng)用程序。單擊【連接】按鈕,打開如圖8.5所示的顯示連接消息框。,圖8.4操作數(shù)據(jù)庫,表8.5屬性表,圖8.5連接數(shù)據(jù)庫,8.4.2Command對象,Command對象可用來存放要對SQLServer數(shù)據(jù)庫執(zhí)行的一個(gè)Transact-SQL語句或存儲(chǔ)過程,并能執(zhí)行該Transact-SQL語句或存儲(chǔ)過程,利用Command對象可直接對數(shù)據(jù)庫進(jìn)行處理。任務(wù)8.5:操作數(shù)據(jù)庫問題描述:繼續(xù)完成“任務(wù)8.4”,單擊【執(zhí)行SQL】按鈕,使用文本框中輸入的SQL命令修改SQLServer數(shù)據(jù)庫中的數(shù)據(jù)。解決方案:(1)打開frmConnect窗體。(2)雙擊【執(zhí)行SQL】按鈕。在btnExecute_Click事件處理程序中輸入代碼(3)測試程序。按F5鍵運(yùn)行該應(yīng)用程序。在文本框中輸入對Northwind數(shù)據(jù)庫中的表有效的INSERT、UPDATE或DELETE命令。單擊【執(zhí)行SQL】按鈕,執(zhí)行btnExecute_Click事件處理程序,所影響的行數(shù)顯示在文本框中(如圖8.6)。,圖8.6使用Command對象,8.5使用SqlDataReader,SqlDataReader提供了一種讀取通過在數(shù)據(jù)源執(zhí)行查詢命令獲得的結(jié)果集中的數(shù)據(jù)的一種方法。SqlDataReader是實(shí)現(xiàn)IDataReader接口的類,若要?jiǎng)?chuàng)建SqlDataReade對象,必須調(diào)用SqlCommand對象的ExecuteReader方法,而不直接使用構(gòu)造函數(shù)。SqlDataReader是一個(gè)包含表格式形式(即行和列)的查詢結(jié)果集。可通過SqlDataReader對象的屬性或方法訪問SqlDataReader中的數(shù)據(jù)。任務(wù)8.6:雇員信息管理問題描述:對SQLServer中的Northwind數(shù)據(jù)庫創(chuàng)建一數(shù)據(jù)庫應(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窗體添加選項(xiàng)卡并設(shè)置選項(xiàng)卡的屬性。Windows窗體TabControl顯示多個(gè)選項(xiàng)卡,這些選項(xiàng)卡類似于筆記本中的分隔卡和檔案柜文件夾中的標(biāo)簽。選項(xiàng)卡中可包含圖片和其他控件。(3)將控件添加到選項(xiàng)卡頁。單擊【個(gè)人信息】選項(xiàng)卡頁以使其顯示在最前面。按圖8.8所示的界面從“工具箱”的【W(wǎng)indows窗體】選項(xiàng)卡中,向【個(gè)人信息】選項(xiàng)卡添加控件,用鼠標(biāo)將控件拖放到適當(dāng)位置。并向Windows窗體添加7個(gè)按鈕控件。根據(jù)屬性表8.6設(shè)置控件的屬性。單擊【其他信息】選項(xiàng)卡頁以使其顯示在最前面。按圖8.9所示的界面從“工具箱”的【W(wǎng)indows窗體】選項(xiàng)卡中,向【其他信息】選項(xiàng)卡添加控件,用鼠標(biāo)將控件拖放到適當(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)用程序中交互作用的對象被分成3種類問題域類、GUI類和數(shù)據(jù)存取類。問題域類是特定于業(yè)務(wù)應(yīng)用程序的對象的類,如雇員(Employee)類、客戶(Customer)類和產(chǎn)品(Product)類等,問題域類是對實(shí)際的業(yè)務(wù)實(shí)體的建模,它用來封裝對象的數(shù)據(jù),存儲(chǔ)對象的信息。GUI類可將組成用戶界面的對象定義到應(yīng)用程序中,如按鈕、標(biāo)簽、文本框和列表框等。GUI類提供用于數(shù)據(jù)輸入和顯示的用戶界面。數(shù)據(jù)存取類提供存取對象有關(guān)的操作,將對象的有關(guān)信息存儲(chǔ)于數(shù)據(jù)庫或文件中,以實(shí)現(xiàn)對象的永久存儲(chǔ),供以后使用,或從數(shù)據(jù)庫中檢索數(shù)據(jù)存儲(chǔ)于對象中,供其他對象使用。三層設(shè)計(jì)要求應(yīng)用程序開發(fā)人員在設(shè)計(jì)和構(gòu)建應(yīng)用程序時(shí)定義3種類。首先,程序設(shè)計(jì)人員標(biāo)識(shí)和定義問題域類。然后定義數(shù)據(jù)存取類以允許問題域類與數(shù)據(jù)存取類的交互作用。定義了這些類之后程序設(shè)計(jì)人員就會(huì)定義如何使用GUI類以允許用戶與問題域類的交互作用。這三層全部完成之后,它們即準(zhǔn)備聯(lián)合起來作為一個(gè)完整的應(yīng)用程序。圖8.10顯示了這三層是如何交互作用的。三層結(jié)構(gòu)可以滿足常用的MVC設(shè)計(jì)模式。讓這三層將用戶界面、業(yè)務(wù)應(yīng)用程序?qū)ο蠛蛿?shù)據(jù)存取類的功能分離,系統(tǒng)維護(hù)變得簡單化,因?yàn)閷UI所做的許多更改都不會(huì)影響問題域類和數(shù)據(jù)存取類。同樣,對數(shù)據(jù)存取類所做的許多更改也不會(huì)影響問題域類或GUI類。例如,可以對數(shù)據(jù)存取類進(jìn)行修改從而升級(jí)或更改數(shù)據(jù)庫管理軟件(如將SQLServer改為Oracle),但不會(huì)影響問題域類或GUI類,同樣,可以對圖形用戶界面進(jìn)行升級(jí)或更改,也不會(huì)影響其他層。任務(wù)8.7:增強(qiáng)雇員信息管理程序,圖8.10三層交互作用示意,8.7PictureBox圖片框控件,通常使用PictureBox來顯示位圖、圖標(biāo)、JPEG或GIF文件中的圖形。在設(shè)計(jì)時(shí)或運(yùn)行時(shí)將Image屬性設(shè)置為要顯示的圖像。在顯示區(qū)域中剪輯和定位圖像由設(shè)置為PictureBoxSizeMode枚舉中的值的SizeMode屬性來控制。默認(rèn)情況下,PictureBox控件在顯示時(shí)沒有任何邊框。即使圖片框不包含任何圖像,仍可以使用BorderStyle屬性提供一個(gè)標(biāo)準(zhǔn)或三維的邊框,以便使圖片框與窗體的其余部分區(qū)分。任務(wù)8.8:雇員相片管理問題描述:增強(qiáng)雇員管理程序的功能,要求能夠修改、添加和刪除雇員的相片(如圖10.11所示)。8.7.1PictureBox的常用屬性8.7.2PictureBox的常用事件8.7.3Image.FromFile方法,圖10.11字體程序,8.7.1PictureBox的常用屬性,1.Image2.BorderStyle指示控件的邊框樣式。屬性值為BorderStyle枚舉值之一。BorderStyle枚舉值見表8.8。BorderStyle屬性默認(rèn)值為None。,表8.8BorderStyle枚舉值,8.7.2PictureBox的常用事件,1.Click用戶單擊控件時(shí)發(fā)生該事件。2.DoubleClick用戶雙擊控件時(shí)發(fā)生該事件。,8.7.3Image.FromFile方法,Image.FromFile(stringfilename)方法從指定的文件創(chuàng)建Image對象。其中filename為字符串,它包含要從中創(chuàng)建Image對象的文件的名稱。此方法的返回值為創(chuàng)建的Image對象。,8.8組合框控件和文本框控件,Windows窗體ComboBox控件用于在下拉組合框中顯示數(shù)據(jù)。默認(rèn)情況下,ComboBox控件分兩個(gè)部分顯示:頂部是一個(gè)允許用戶輸入列表項(xiàng)的文本框。第二部分是一個(gè)列表框,它顯示一個(gè)項(xiàng)列表,用戶可從中選擇一項(xiàng)。SelectedIndex屬性返回一個(gè)整數(shù)值,該值與選定的列表項(xiàng)相對應(yīng)。通過在代碼中更改SelectedIndex值,可以編程方式更改選定項(xiàng);列表中的相應(yīng)項(xiàng)將出現(xiàn)在組合框的文本框部分。如果未選定任何項(xiàng),則SelectedIndex值為-1。如果選定列表中的第一項(xiàng),則SelectedIndex值為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方法?;蛘撸梢栽谠O(shè)計(jì)器中使用Items屬性向列表添加項(xiàng)。TextBox控件可用于接受密碼,可以使用PasswordChar屬性屏蔽在控件的單行版本中輸入的字符。也可以通過將ReadOnly屬性設(shè)置為true來限制TextBox控件中的所有數(shù)據(jù)項(xiàng)輸入。任務(wù)8.9:登錄程序問題描述:創(chuàng)建一個(gè)Login程序(如圖8.12所示),讓用戶選擇登錄名稱,輸入密碼,在【確定】命令按鈕的Click事件中,調(diào)用事件處理程序,驗(yàn)證用戶輸入的密碼(密碼為用戶名稱加用戶的出生日期)。Login程序還提供了一個(gè)用戶的圖片和文本描述。如果驗(yàn)證用戶輸入的密碼正確,則進(jìn)入雇員管理窗體。8.8.1ComboBox的常用屬性和方法8.8.2列表框控件的常用事件8.8.3TextBox的常用屬性8.8.4TextBox的常用事件,圖8.12登錄程序,8.8.1ComboBox的常用屬性和方法,1.Items2.SelectedIndex3.SelectedItem4.Text5.DropDownStyle該屬性確定要顯示的組合框的樣式,也就是確定用戶能否在文本部分中輸入新值以及列表部分是否總顯示。其枚舉值如表8.10所示。6.ComboBox.Items.Add7.ComboBox.Items.Insert8.ComboBox.Items.Remove9.ComboBox.Items.RemoveAt10.ComboBox.Items.Clear,表8.10DropDownStyle枚舉值,8.8.2列表框控件的常用事件,SelectedIndexChanged選定的索引發(fā)生變化時(shí)會(huì)發(fā)生該事件。,8.8.3TextBox的常用屬性,1.Text2.PasswordChar3.MaxLength4.ReadOnly5.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.Multiline7.TextBoxBase.WordWrap8.SelectionStart9.SelectionLength10.TextAlign獲取或設(shè)置TextBox控件中文本的對齊方式。屬性值為HorizontalAlignment枚舉值之一(見表8.12),以指定控件中文本的對齊方式。默認(rèn)值為HorizontalAlignment.Left。11.AcceptsReturn,表8.11ScrollBars枚舉值,表8.12HorizontalAlignment枚舉,8.8.4TextBox的常用事件,TextChanged文本框中的文本發(fā)生變化時(shí)(用戶添加或刪除字符)發(fā)生該事件。,8.9列表框,ListBox控件顯示一個(gè)項(xiàng)列表,用戶可以查看并選擇列表中的一項(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í),無論項(xiàng)數(shù)多少都將顯示滾動(dòng)條。SelectedItem屬性類似于SelectedIndex,但它返回項(xiàng)本身,通常是字符串值。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ì)時(shí)使用Items屬性向列表添加項(xiàng)。CheckedListBox控件對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)。使用SqlCommand對象的ExecuteNonQuery方法執(zhí)行SELECT、INSERT、UPDATE、DELETESQL命令來完成查詢、添加、修改或刪除數(shù)據(jù)操作。問題描述:對SQLServer中的Northwind數(shù)據(jù)庫創(chuàng)建一數(shù)據(jù)庫應(yīng)用程序,該應(yīng)用程序能夠?qū)崿F(xiàn)瀏覽每一產(chǎn)品的相關(guān)信息,能對產(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.Items2.SelectedIndex3.SelectedItem4.Sel

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論