第5章 常用控件_第1頁
第5章 常用控件_第2頁
第5章 常用控件_第3頁
第5章 常用控件_第4頁
第5章 常用控件_第5頁
已閱讀5頁,還剩86頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第五章常用控件5.1案例:個人簡歷問題提出期望效果5.1案例:個人簡歷5.1案例:個人簡歷案例分析主要功能技術點5.2窗體5.2.1建立新項目建立一個windows應用程序項目5.2.1建立新項目VisualStudio2005IDE(集成編程環(huán)境)解決方案資源管理器5.2.1建立新項目控件控件是包含在窗體對象內的對象屬性(Attribute)反映控件的外觀特征方法(Method)是該控件所固有的處理某項事務的動作事件(Event)是該控件所固有的處理某項事務的動作反應5.2.2設置窗體屬性【實作任務】參照表5-1,設置Form1窗體的部分屬性 5.2.2設置窗體屬性屬性在屬性欄中設置屬性稱為設計時屬性設置通過編程的方式設置屬性稱為運行時屬性設置控件的屬性值大多數(shù)可以在程序中讀取、設置、更改5.2.2設置窗體屬性【多學一點】控件命名控件名(對象名)與變量名一樣,是在程序中調用該控件的唯一依據,在其作用域內(通常是一個類中)具有唯一性??丶cC#變量名等標識符的命名規(guī)則相同,支持中文命名。5.2.3添加窗體事件窗體事件Windows程序是靠事件驅動的可以使用“屬性”窗口指定在代碼中要處理哪些事件注意:要刪除某個自己添加的事件,要先在控件的屬性窗口中找到相應事件,去掉添加添加的事件代碼,再刪除代碼文件中的事件代碼,否則很容易出錯。5.2.3添加窗體事件添加窗體事件【實作任務】給窗體MyForm1添加一個load事件,我們希望在窗體初始化時設置窗體的大小、標題和背景顏色。5.2.3添加窗體事件窗體load事件初始代碼usingSystem;//引用系統(tǒng)命名空間……namespaceWindowsControl//項目命名空間{publicpartialclassMyForm1:Form{publicMyForm1()//窗體初始化,名稱與類名必須相同

{InitializeComponent();//系統(tǒng)初始化方法,不能更改

//可以自己加入在窗體初始化時需執(zhí)行的代碼

}

//自己可以在此添加代碼}}5.2.3添加窗體事件在Load事件中添加如下代碼:privatevoidMyForm1_Load(objectsender,EventArgse){

//窗體大小,寬400點,高300點(像素點)

this.Size=newSize(400,300);this.Text="這是一個可變大小的窗體";//設置為大小可調節(jié)的窗體

this.FormBorderStyle=FormBorderStyle.Sizable;

//使用默認控件顏色便于使用windows桌面主題效果

this.BackColor=SystemColors.Control;}5.2.3添加窗體事件Size:(Height,Width)FormBorderStyle枚舉成員說明None無邊框FixedSingle固定的單行邊框Fixed3D固定的三維邊框FixedDialog固定的對話框樣式的粗邊框Sizable可調整大小的邊框FixedToolWindow不可調整大小的工具窗口邊框SizableToolWindow可調整大小的工具窗口邊框BackColor:系統(tǒng)預定義的顏色類SystemColors5.2.4添加其它控件添加控件有三種方式:從工具箱拖動在工具箱中雙擊通過已有控件復制5.2.4添加其它控件【實作任務】5.2.5添加窗體【實作任務】彈出菜單

->“添加”->“Windows窗體”5.2.5添加窗體窗體調用在MyForm1添加一個按鈕buttonCreate,設置其Click事件如下:

privatevoidbuttonCreate_Click(objectsender,EventArgse){TextFormtxtForm=newTextForm();//創(chuàng)建窗體實例

txtForm.Show();//顯示txtForm}注意:1、可以用ShowDialog方法,將窗體顯示為模式對話框。如:txtForm.ShowDialog();1、關于從類創(chuàng)建實例的相關知識在面向對象部分會詳細講。2、現(xiàn)在有兩個窗體,在本章中如果沒有明確說明,所用窗體是指MyForm1。5.2.5添加窗體【多學一點】

主窗體在本案例中,第一個啟動的窗體是MyForm1,它是主窗體,其它窗體一般都通過該窗體中的控件調用,當它關閉時會終止整個程序的運行。其余窗體也可以用其Close()方法關閉,但它不會關閉主窗體,也不會終止應用程序。//Program.cs

staticclassProgram{[STAThread]staticvoidMain(){Application.EnableVisualStyles();Application.SetCompatibleTextRenderingDefault(false);

Application.Run(newForm1());}}//由此可見,主窗體的調用機制是5.2.5添加窗體【多學一點】添加現(xiàn)有項5.2窗體【自我練習】5.3C#資源管理項目資源:應用程序所需的二進制數(shù)據、文本文件、音頻或視頻文件、字符串表、圖標、圖像、XML文件或任何其他類型的數(shù)據。5.3.1向項目中添加資源5.3.1向項目中添加資源將需要的資源添加到項目資源文件Resources.resx中使用項目資源中的圖像設置窗體背景

this.BackgroundImage=WindowsControl.Properties.Resources.C800600;

其中“WindowsControl”是當前項目名稱,也可以省略.5.3.1向項目中添加資源在應用程序中,可以用以下方式使用資源://使用項目資源中的圖像設置窗體背景this.BackgroundImage=WindowsControl.Properties.Resources.C800600;其中“WindowsControl”是當前項目名稱,也可以省略。5.3.2編輯資源可以使用二進制編輯器以十六進制或ASCII格式在二進制級別上編輯資源文件(包括.resx文件)。可以使用圖像編輯器編輯作為鏈接的資源存儲的圖標、光標以及

.jpeg和

GIF文件。5.3.3ImageList組件ImageList組件用于存儲圖像,這些圖像隨后可由控件顯示。ImageList組件的主要屬性是

Images,它包含關聯(lián)的控件將要使用的圖片。每個單獨的圖像可通過其索引值ImageIndex或其鍵值ImageKey來訪問。所有圖像都將以同樣的大小顯示,該大小由

ImageSize屬性設置,默認為16*16。較大的圖像將縮小至適當?shù)某叽?。因為其中圖像大小一樣,常用于圖標顯示5.4鼠標與鍵盤事件5.4.1鼠標事件【實例】鼠標測試任務:通過鼠標讓窗體動起來,在窗體上單擊鼠標左鍵將窗體逐步放大,單擊鼠標右鍵將窗體逐步縮小,并在標題欄說明當前窗體大小,雙擊窗體就關閉該窗體,結束應用程序5.4.1鼠標事件實例5.1鼠標狀態(tài)測試5.4.1鼠標事件MouseEventArgs常用屬性屬性說明Button獲取曾按下的是哪個鼠標按鈕。Clicks獲取按下并釋放鼠標按鈕的次數(shù)。Delta獲取鼠標輪已轉動的制動器數(shù)的計數(shù)。制動器是鼠標輪的一個凹口。Location獲取鼠標在產生鼠標事件時的位置。X

獲取鼠標在產生鼠標事件時的

x坐標。Y

獲取鼠標在產生鼠標事件時的

y坐標。5.4.1鼠標事件MouseButtons枚舉值枚舉成員說明None未曾按下鼠標按鈕。Left鼠標左按鈕曾按下。Right鼠標右按鈕曾按下。Middle鼠標中按鈕曾按下。XButton1第

1個

XButton曾按下。XButton2第

2個

XButton曾按下。5.4.1鼠標事件鼠標事件鼠標事件處理程序接收參數(shù)類型說明ClickEventArgs釋放鼠標按鈕時發(fā)生此事件。MouseClickMouseEventArgs使用鼠標單擊控件時發(fā)生此事件。如果需要在發(fā)生單擊時獲取鼠標的有關信息,可處理此事件。DoubleClickEventArgs雙擊控件時發(fā)生此事件MouseDoubleClickMouseEventArgs使用鼠標雙擊控件時發(fā)生此事件。如果需要在發(fā)生雙擊時獲取鼠標的有關信息,可處理此事件。MouseDownMouseEventArgs當鼠標指針在控件上且按下按鈕時發(fā)生此事件MouseEnterEventArgs當鼠標指針進入控件工作區(qū)時發(fā)生此事件MouseHoverEventArgs當鼠標指針停留在控件上時發(fā)生此事件MouseLeaveEventArgs當鼠標指針離開控件工作區(qū)時發(fā)生此事件MouseMoveMouseEventArgs當鼠標指針在控件上移動時發(fā)生此事件MouseUpMouseEventArgs當鼠標指針在控件上且釋放按鈕時發(fā)生此事件MouseWheelMouseEventArgs如果用戶在控件具有焦點時滾動鼠標輪,則發(fā)生此事件。5.4.1鼠標事件鼠標事件發(fā)生順序單擊一次鼠標按鈕所引發(fā)事件的順序雙擊鼠標按鈕所引發(fā)事件的順序MouseDown事件Click事件MouseClick事件MouseUp事件MouseDown事件Click事件MouseClick事件MouseUp事件MouseDown事件DoubleClick事件MouseDoubleClick事件MouseUp事件5.4.1鼠標事件實例5.2鼠標狀態(tài)測試2代碼分析5.4.2鍵盤事件KeyDown事件,當用戶按物理鍵時將引發(fā)此事件,事件發(fā)生一次KeyPress事件,當所按的鍵產生字符時將引發(fā)此事件。例如,當用戶按

Shift和小寫的“a”鍵時,將產生大寫字母“A”字符。當用戶按住同一個鍵時,該事件可以發(fā)生多次。

KeyUp事件,當用戶松開鍵時,KeyUp事件發(fā)生一次5.4.2鍵盤事件實例5.3鍵盤按鍵測試代碼分析5.4.2鍵盤事件KeyEventArgs類的主要成員成員說明Alt獲取一個值,該值指示是否曾按下

Alt鍵。Control獲取一個值,該值指示是否曾按下

Ctrl鍵。Shift獲取一個值,該值指示是否曾按下

Shift鍵。KeyCode獲取

KeyDown或

KeyUp事件的鍵盤代碼。KeyData獲取

KeyDown或

KeyUp事件的鍵數(shù)據。KeyValue獲取

KeyDown或

KeyUp事件的鍵盤值。Modifiers獲取

KeyDown或

KeyUp事件的修飾符標志。這些標志指示按下的

Ctrl、Shift和

Alt鍵的組合。5.4鼠標與鍵盤事件【自我練習】自己設計一個標簽,加載一幅小圖片,它可以跟隨鼠標光標移動的標簽,也可以用光標鍵移動。5.5常用控件準備個人簡歷設計界面【實作任務】重新設置窗體屬性5.5.1LabelLabel控件用于顯示用戶不能編輯的文本或圖像Label控件不能接收焦點Anchor屬性將控件錨定到其父控件后,可確保當調整父控件的大小時錨定的邊緣與父控件的邊緣的相對位置保持不變。其默認值為Top、Left。Dock屬性在調整控件的父控件大小時如何自動調整控件的大小,其默認值None。5.5.1Label【實作任務】【多學一點】控件的可見性(訪問級別)Modifiers屬性5.5.2ButtonButton控件允許用戶通過單擊來執(zhí)行操作,即調用

Click事件處理程序按鈕上顯示的文本包含在

Text屬性中。Button控件還可以使用

Image和

ImageList屬性顯示圖像。窗體AcceptButton屬性將指定Button控件為“接受”按鈕(也稱作默認按鈕)。窗體CancelButton屬性指定

Button控件為“取消”按鈕。每當用戶按

Esc鍵時,即單擊“取消”按鈕。5.5.2Button【實作任務】【多學一點】控件失效與隱藏Enable屬性,控件是否可用,默認為TrueVisible屬性,控件是否可見,默認為TrueHide()方法,隱藏控件,相當于Visible屬性為FalseShow()方法,顯示控件,相當于Visible屬性為True5.5.3TabControl本實例窗體中的核心控件是選項卡控件TabControlTabControl的最重要的屬性是

TabPages,它包含單獨的選項卡TabPage對象單擊選項卡時,將為該

TabPage對象引發(fā)

Click事件5.5.3TabControlTabControl的重要屬性和方法成員說明屬性SizeMode指示選項卡如何進行大小調節(jié),屬性ImageList

在選項卡的標簽部位顯示圖標屬性Multiline

創(chuàng)建多行選項卡屬性Enabled

啟用或禁用選項,設置為true或false屬性Appearance選項卡顯示為按鈕,設置為

Buttons或

FlatButtons方法Add

添加選項卡方法Remove

移除選項卡方法Clear

移除所有選項卡5.5.3TabControl【多學一點】以編程方式添加、移除選項卡stringtitle="TabPage"+(tabControl1.TabCount+1).ToString();TabPagemyTabPage=newTabPage(title);tabControl1.TabPages.Add(myTabPage);tabControl1.TabPages.Remove(tabControl1.SelectedTab);5.5.3TabControl【實作任務】5.5.4TextBoxTextBox常用成員成員說明屬性Text用于輸入或顯示可見字符數(shù)據屬性ReadOnly文本框中的文本是否為只讀屬性PasswordChar用于屏蔽單行

TextBox控件中的密碼字符屬性Numeric指示輸入是否必須全部是數(shù)字,默認為

false屬性Multiline是否為多行TextBox控件屬性ScrollBars多行

TextBox控件中出現(xiàn)哪些滾動條屬性SelectionStar獲取或設置選定的文本起始點屬性SelectionLength獲取或設置文本框中選定的字符數(shù)屬性SelectedText獲取或設置一個值,該值指示當前選定的文本屬性MaxLength獲取或設置可在文本框控件的最大字符數(shù)屬性TextLength獲取控件中文本的長度5.5.4TextBoxTextBox常用成員方法Clear從文本框控件中清除所有文本方法Copy將當前選定內容復制到剪貼板方法Cut將當前選定內容移動到剪貼板方法Paste用剪貼板的內容替換文本框中的當前選定內容方法Focus為控件設置輸入焦點事件TextChanged當用戶更改

TextBox的文本時發(fā)生事件Enter進入控件時發(fā)生事件Leave在輸入焦點離開控件時發(fā)生事件Validating在控件正在驗證時發(fā)生事件Validated在控件完成驗證時發(fā)生5.5.4TextBox【實作任務】privatevoidtextName_Validating(objectsender,CancelEventArgse)privatevoidtextName_Validated(objectsender,EventArgse)【自我練習】5.5.4TextBox【多學一點】控件焦點與焦點有關的控件屬性、方法與事件成員說明屬性Focused控件是否有輸入焦點(只讀)屬性CanFocus控件是否可以接收焦點(只讀)屬性ContainsFocus控件或它的一個子控件當前是否有輸入焦點(只讀)屬性CanSelect是否可以選中控件(只讀)屬性ActiveControl獲取或設置容器控件上的活動控件方法Focus為控件設置輸入焦點方法Select激活控件事件Enter進入控件時發(fā)生事件Leave在輸入焦點離開控件時發(fā)生事件..::Validating在控件正在驗證時發(fā)生事件Validated在控件完成驗證時發(fā)生5.5.5MaskedTextBoxMaskedTextBox控件是一個增強的

TextBox控件,它支持用于接受或拒絕用戶輸入的聲明性語法。Mask是

MaskedTextBox類的默認屬性,可用掩碼輸入框設置該值MaskFull屬性來驗證用戶是否輸入了所有必需的輸入內容。Text屬性將始終檢索按照掩碼和

TextMaskFormat屬性設置格式的用戶輸入5.5.5MaskedTextBoxMaskedTextBox控件主要的屬性屬性說明PromptChar用于提示用戶進行輸入的字符,默認為下劃線

(_)AllowPromptAsInputPromptChar是否可以作為有效數(shù)據由用戶輸入AsciiOnly是否接受

ASCII字符集以外的字符Mask獲取或設置運行時使用的輸入掩碼MaskCompleted所有必需的輸入是否都已輸入到輸入掩碼中MaskFull所有必需和可選的輸入是否都已輸入到輸入掩碼中TextMaskFormat決定原義字符和提示字符是否包括在Text屬性中ValidatingType獲取或設置用于驗證用戶輸入的數(shù)據的數(shù)據類型BeepOnError當用戶鍵入了它拒絕的字符時是否發(fā)出系統(tǒng)警告聲5.5.5MaskedTextBoxMaskFormat枚舉值枚舉成員說明IncludePrompt返回用戶輸入的文本以及提示字符的任意實例IncludeLiterals(默認值)返回用戶輸入的文本以及掩碼中定義的任意文本字符IncludePromptAndLiterals返回用戶輸入的文本及掩碼字符以和提示字符ExcludePromptAndLiterals只返回用戶輸入的文本5.5.5MaskedTextBox【實作任務】【多學一點】掩碼Mask5.5.6RadioButtonRadioButton控件為用戶提供由兩個或多個互斥選項組成的選項集單擊

RadioButton時,其

Checked屬性為true,并且調用

Click事件Checked屬性值更改時,將引發(fā)

CheckedChanged事件可將Appearance屬性設置為

Button通過使用

Image和

ImageList屬性顯示圖像5.5.6RadioButton在一個容器(如

Panel、GroupBox或窗體)內繪制單選按鈕即可將它們分組【實作任務】5.5.7CheckBoxCheckBox控件指示某個特定條件是處于打開狀態(tài)還是處于關閉狀態(tài)Checked屬性返回true或falseCheckState屬性返回

Checked或

Unchecked【實作任務】5.5.8comboBoxComboBox控件用于在下拉組合框中顯示數(shù)據SelectedIndex屬性返回一個整數(shù)值,該值與選擇的列表項相對應。SelectedItem屬性與

SelectedIndex類似,但它返回項本身,通常是一個字符串值。Count屬性反映列表的項數(shù)5.5.8comboBoxDropDownStyle屬性控制顯示給用戶的界面。簡單的下拉列表框Simple下拉列表框DropDown下拉列表框DropDownList(默認)使用Items集合的

Add、Insert、Clear或

Remove方法在

ComboBox控件中添加或刪除項??梢栽谠O計器中使用

Items屬性向列表添加項若Sorted屬性設置為true,列表項將以排序順序顯示,當控件為數(shù)據綁定時不能排序。5.5.8comboBox【實作任務】5.5.9ListBox和CheckedListBoxListBox控件顯示一個項列表SelectionMode屬性提供單項選擇或多重選擇MultiColumn為true時,多列顯示項ScrollAlwaysVisible為true時,無論項數(shù)多少都將顯示滾動條SelectionMode確定一次可以選擇多少列表項5.5.9ListBox和CheckedListBoxSelectedItem屬性、SelectedIndex屬性分別表示當前選中的項和其索引號,Count屬性反映列表的項數(shù)Items、SelectedItems和SelectedIndices屬性分別表示列表的項的集合、當前選取項的集合、當前選取項的索引集合CheckedListBox控件5.5.9ListBox和CheckedListBox【實作任務】【多學一點】數(shù)據集合Items使用Items集合的

Add、Insert、Clear或

Remove方法在ListBox控件中添加或刪除項使用Sorted對列表項排序可在設計器中使用

Items屬性向列表添加項使用DataSource屬性(數(shù)據綁定)添加項。5.5.9ListBox和CheckedListBox【自我練習】5.5.10ListViewListView控件顯示了帶圖標的項的列表該控件具有四種視圖模式:LargeIcon、SmallIcon、List和DetailsItemsSelectedItemsMultiSelectCheckBoxes5.5.11DateTimePickerDateTimePicker控件,用戶可以從日期或時間列表中選擇單個項。當

ShowCheckBox屬性設置為true時,該控件中的選定日期旁邊將顯示一個復選框。該控件的

MaxDate和

MinDate屬性確定日期和時間的范圍。如果你希望

DateTimePicker作為選取或編輯時間(而不是日期)的控件出現(xiàn),ShowUpDown屬性設置為true,并將

Format屬性設置為

Time。5.5.11DateTimePicker顯示格式CustomFormatLong、Short、Time或

Custom設置日期時間值ValuedateTime.Value=newDateTime(2001,10,20);dateTime.Value=DateTime.Now.AddDays(1);獲取日期時間值ValuedateTime.Value.DayOfWeek.ToString()【實作任務】5.5.12NumericUpDownMinimum和

Maximum指定控件允許值的范圍

Increment指定

Value屬性遞增或遞減的值Accelerations屬性決定用戶連續(xù)按向上或向下箭頭時該控件在數(shù)字間移動的速度。設置數(shù)字的顯示格式的屬性:DecimalPlacesHexadecimalThousandsSeparator5.5.12NumericUpDown【實作任務】注意:1、即使值在窗體中顯示為十六進制值,對

Value屬性執(zhí)行的任何測試所測試的都是其十進制值。2、獲取NumericUpDown控件的值用Value屬性,而不是Text屬性,其數(shù)據類型為Decimal。5.5.13PictureBoxPictureBox控件用于顯示BMP、GIF、JPEG、ICO或圖元文件圖標格式的圖像所顯示的圖片由

Image屬性確定,該屬性可在運行時或設計時設置。也可以通過設置

ImageLocation屬性,然后使用

Load方法加載圖像。5.5.13PictureBoxBorderStyle屬性提供一個標準或三維的邊框SizeMode屬性控制圖像在顯示區(qū)域中的剪裁和定位設PictureBoxSizeMode枚舉中的值ClientSize屬性來更改顯示區(qū)域的大?。ㄔ谶\行時使用

)枚舉成員說明圖像將放置在控件的左上角;如果圖像比控件大,則會對其下邊緣和右邊緣進行剪裁。(默認值)CenterImage圖像將在控件中居中;并對圖片超出部分進行剪裁AutoSize控件的大小將調整為圖像的大小StretchImage圖像拉伸,其大小將調整為控件的大小5.5.13PictureBox以編程方式設置圖像使用

Image的

FromFile方法設置

Image屬性。在下面的示例中,圖像位置的路徑設置是c:\pic文件夾。pictureBox1.Image=Image.FromFile(@“c:\pic\Image.gif”);通過設置

ImageLocation屬性,然后使用

Load方法加載圖像。myPhoto.ImageLocation=@"c:\pic\Image.gif";//設置

URLmyPhoto.Load();//加載圖片或者myPhoto.Load(@“c:\pic\Image.gif”);5.5.13PictureBox清除圖像

if(pictureBox1.Image!=null){pictureBox1.Image.Dispose();//釋放圖像內存pic

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論