C#之WinForm窗體常用控件的屬性、方法及事件簡介
今天結合自己以前搜集的一些資料簡單總結下Winform窗體常用的控件使用及其屬性、方法、事件等……
一、按鈕(Button)控件
 幾乎存在于所有Windows對話框中,是Windows應用程序中最常用的控件之一。按鈕控件允許用戶通過單擊來執行操作。按鈕最重要的事件,也是最常用的事件就是Click。當用戶單擊按鈕時,都會調用Click事件。
按鈕的常用屬性和事件:
1、常用屬性  
(1)DialogResult屬性:當使用ShowDialog方法顯示窗體時,可以使用該屬性設置當用戶按了該按鈕后,
ShowDialog方法的返回值。值有:OK、Cancel、Abort、Retry、Ignore、Yes、No等。
(2)Image屬性:用來設置顯示在按鈕上的圖像。
(3)FlatStyle屬性:用來設置按鈕的外觀。
2、常用事件:
(1)Click事件:當用戶用鼠標左鍵單擊按鈕控件時,將發生該事件。
(2)MouseDown事件:當用戶在按鈕控件上按下鼠標按鈕時,將發生該事件。
(3)MouseUp事件:當用戶在按鈕控件上釋放鼠標按鈕時,將發生該事件。
二、文本框控件(textBox)
在希望用戶輸入程序員在設計階段不知道的文本(如用戶的姓名)時,應使用文本框。文本框的主要用途是讓用戶輸入文本,用戶可以輸入任何字符,也可以限制用戶只輸入數值。
1、主要屬性:
(1)Text屬性:Text屬性是文本框最重要的屬性,因為要顯示的文本就包含在Text屬性中。默認情況下,
最多可在一個文本框中輸入2048個字符。如果將MultiLine屬性設置為true,則最多可輸入32KB 的文本。
Text屬性可以在設計時使用【屬性】窗口設置,也可以在運行時用代碼設置或者通過用戶輸入來設置???/div>
以在運行時通過讀取Text屬性來獲得文本框的當前內容。
(2)MaxLength 屬性:用來設置文本框允許輸入字符的最大長度,該屬性值為 0 時,不限制輸入的字符
數。
(3)MultiLine 屬性:用來設置文本框中的文本是否可以輸入多行并以多行顯示。值為 true 時,允許多行
顯示。值為false時不允許多行顯示,一旦文本超過文本框寬度時,超過部分不顯示。
(4)HideSelection屬性:用來決定當焦點離開文本框后,選中的文本是否還以選中的方式顯示,值為true,
則不以選中的方式顯示,值為 false將依舊以選中的方式顯示。
(5)ReadOnly屬性:用來獲取或設置一個值,該值指示文本框中的文本是否為只讀。值為 true時為只讀,
值為 false時可讀可寫。
(6)PasswordChar 屬性:是一個字符串類型,允許設置一個字符,運行程序時,將輸入到 Text 的內容全
部顯示為該屬性值,從而起到保密作用,通常用來輸入口令或密碼。
(7) ScrollBars屬性: 用來設置滾動條模式, 有四種選擇: ScrollBars.None (無滾動條), ScrollBars.Horizontal
(水平滾動條),ScrollBars.Vertical(垂直滾動條),ScrollBars.Both(水平和垂直滾動條)。
注意:只有當MultiLine屬性為true時,該屬性值才有效。在WordWrap屬性值為true時,
水平滾動條將不起作用
(8)SelectionLength屬性:用來獲取或設置文本框中選定的字符數。只能在代碼中使用,值為0 時,表示
未選中任何字符。
(9)SelectionStart屬性:用來獲取或設置文本框中選定的文本起始點。只能在代碼中使用,第一個字符的
位置為0,第二個字符的位置為1,依此類推。
(10)SelectedText 屬性:用來獲取或設置一個字符串,該字符串指示控件中當前選定的文本。只能在代
碼中使用。
(11)Lines:該屬性是一個數組屬性,用來獲取或設置文本框控件中的文本行。即文本框中的每一行存放
在 Lines數組的一個元素中。
(12)Modified:用來獲取或設置一個值,該值指示自創建文本框控件或上次設置該控件的內容后,用戶
是否修改了該控件的內容。值為true表示修改過,值為 false表示沒有修改過。
(13)TextLength屬性:用來獲取控件中文本的長度。
(14)WordWrap:用來指示多行文本框控件在輸入的字符超過一行寬度時是否自動換行到下一行的開始,
值為 true,表示自動換到下一行的開始,值為false表示不自動換到下一行的開始。
2、常用方法:
(1)AppendText方法:把一個字符串添加到文件框中文本的后面,調用的一般格式如下:
文本框對象.AppendText(str)
參數 str是要添加的字符串。
(2)Clear方法:從文本框控件中清除所有文本。調用的一般格式如下:
文本框對象.Clear()該方法無參數。
(3)Focus方法:是為文本框設置焦點。如果焦點設置成功,值為 true,否則為false。調用的一般格式如
下: 文本框對象.Focus()該方法無參數。  
(4)Copy方法:將文本框中的當前選定內容復制到剪貼板上。調用的一般格式如下:
文本框對象.Copy()該方法無參數。
(5)Cut方法:將文本框中的當前選定內容移動到剪貼板上。調用的一般格式如下:
文本框對象.Cut()該方法無參數。
(6)Paste方法:用剪貼板的內容替換文本框中的當前選定內容。調用的一般格式如下:
文本框對象.Paste()該方法無參數。
(7)Undo 方法:撤銷文本框中的上一個編輯操作。調用的一般格式如下:
文本框對象.Undo()該方法無參數。
(8)ClearUndo方法:從該文本框的撤銷緩沖區中清除關于最近操作的信息,根據應用
程序的狀態,可以使用此方法防止重復執行撤銷操作。調用的一般格式如下:
文本框對象.ClearUndo()該方法無參數。
(9)Select方法:用來在文本框中設置選定文本。調用的一般格式如下:
文本框對象.Select(start,length)
該方法有兩個參數,第一個參數start用來設定文本框中當前選定文本的第一個字符的位
置,第二個參數length用來設定要選擇的字符數。
(10)SelectAll方法:用來選定文本框中的所有文本。調用的一般格式如下:
文本框對象.SelectAll()該方法無參數。
3、常用事件:
(1)GotFocus事件:該事件在文本框接收焦點時發生。
(2)LostFocus事件:該事件在文本框失去焦點時發生。
(3)TextChanged事件:該事件在Text屬性值更改時發生。無論是通過編程修改還是用戶交互更改文本框的 Text屬性值,均會引發此事件。
三、RichTextBox (富文本框)控件
RichTextBox控件不僅允許輸入和編輯文本,與TextBox控件相比多了很多功能,同時還提供了標準 TextBox 控件未具有的、更高級的指定格式的許多功能。
它能以 rtf 格式和普通 ASCII 文本格式這兩種形式打開和保存文件??梢允褂每丶姆椒ǎ↙oadFile 和 SaveFile)直接讀寫文件,或使用與 Visual Basic 文件輸入/輸出語句聯結的、諸如 SelRTF 和 TextRTF 之類的控件屬性打開和保存文件。
RichTextBox控件的一些常用方法:
1.選中字體以及字體顏色設置:this.richTextBox1.SelectionFont = fontDialog1.Font;
if(this.richTextBox1.SelectedText.Length>0 && this.colorDialog1.ShowDialog()==DialogResult.OK)
            { this.richTextBox1.SelectionColor = colorDialog1.Color; }
2.剪切、復制、粘貼:this.richTextBox1.Cut();
if(richTextBox1.SelectedText.Length>0)
           {richTextBox1.Copy();}
richTextBox1.Paste();
3.撤銷前一次操作、撤銷操作的回復:
richTextBox1.Undo(); richTextBox1.Redo();
4.背景設置:
if(this.colorDialog1.ShowDialog()==DialogResult.OK)
  {
     this.richTextBox1.BackColor = this.colorDialog1.Color;
  }
四、標簽(Label)控件
它是最常用的控件,在任何Windows應用程序中都可以中都可以看到標簽控件。標簽控件用于顯示用戶不能編輯的文件或圖像,常用于對窗體上各種控件進行標注或說明。
在窗體中添加標簽控件時,會創建一個Label類的實例。Label控件派生自Control控件,和其他控件一樣支持事件,但通常不需要添加任何事件代碼。
1、常用屬性:
(1)Text屬性:用來設置或返回標簽控件中顯示的文本信息。
(2)AutoSize 屬性:用來獲取或設置一個值,該值指示是否自動調整控件的大小以完整顯示其內容。取
值為 true時,控件將自動調整到剛好能容納文本時的大小,取值為false時,控件的大小為設計時的大小。
默認值為false。
(3)Anchor 屬性:用來確定此控件與其容器控件的固定關系的。
(4)BackColor屬性:用來獲取或設置控件的背景色。當該屬性值設置為 Color.Transparent 時,標簽將透明顯示,即背景色不再顯示出來。
(5)BorderStyle 屬性:用來設置或返回邊框。有三種選擇:BorderStyle.None 為無邊框(默認),BorderStyle.FixedSingle 為固定單邊框,BorderStyle.Fixed3D 為三維邊框。
(6)TabIndex屬性:用來設置或返回對象的Tab鍵順序。
(7)Enabled 屬性:用來設置或返回控件的狀態。值為 true 時允許使用控件,值為 false 時禁止使用控件,此時標簽呈暗淡色,一般在代碼中設置。
(8)Name屬性:標簽控件的名稱。
(9)Image屬性:指定標簽顯示的圖像。
(10)Visible屬性:確定是否可見,默認為true。
說明:每個控件都有Name屬性,用來在代碼中表示該對象,設置該屬性的值就是為控件命名。命名時一定要遵循規范,通常加上前綴。如Label標簽為lbl,TextBox為txt,Button為btn。lblName,btnLogin,txtPwd都是規范命名。
五、圖片框控件(PictureBox)
Windows窗體圖片控件(PictureBox)用于顯示位圖、GIF、JPEG、圖元文件或圖標格式的圖形。圖片框控件表示可用于顯示圖像的 Windows 圖片框控件,該控件是使用頻度最高的控件,主要用以顯示窗體文本信息。
六、使用復選框(CheckBox)
可以實現多個選項同時選擇,傳統上,CheckBox顯示為一個標簽,左邊是一個帶有標記的小方框。在希望用戶可以選擇一個或多個選項時,就應使用復選框。例如詢問用戶要使用的操作系統(如Windows Vista、Windows XP、Linux等)。這個控件的屬性和事件非常類似于RadioButton控件的屬性。注意,RadioButton 和CheckBox控件都有CheckChanged事件,但其結果是不同的。
CheckBox控件的常用屬性如下:
(1)TextAlign屬性:用來設置控件中文字的對齊方式,有9種選擇,從上到下、從左至右分別是:ContentAlignment.TopLeft、ContentAlignment.TopCenter、 ContentAlignment.TopRight、ContentAlignment.MiddleLeft、ContentAlignment.MiddleCenter、 ContentAlignment.MiddleRight、ContentAlignment.BottomLeft、ContentAlignment.BottomCenter 和 ContentAlignment.BottomRight。該屬性的默認值為ContentAlignment.MiddleLeft,即文字左對齊、居控件垂直方向中央。
(2)ThreeState屬性:用來返回或設置復選框是否能表示三種狀態,如果屬性值為true時,表示可以表示三種狀態—選中、沒選中和中間態(CheckState.Checked、CheckState.Unchecked 和CheckState.Indeterminate),屬性值為false時,只能表示兩種狀 態——選中和沒選中。
(3)Checked屬性:用來設置或返回復選框是否被選中,值為true時,表示復選框被選中,值為false時,表示復選框沒被選中。當ThreeState屬性值為true時,中間態也表示選中。
(4)CheckState 屬性:用來設置或返回復選框的狀態。在 ThreeState 屬性值為 false 時,取值有CheckState.Checked或CheckState.Unchecked。在ThreeState屬性值被設置為True時,CheckState還可以取值 CheckState.Indeterminate,在此時,復選框顯示為淺灰色選中狀態,該狀態通常表示該選項下的多個子選項未完全選中。
七、單選控件(RadioButton)
     顯示為一個標簽,左邊是一個原點,該原點可以是選中或未選中。在要給用戶提供幾個互斥選項時,就可以使用單選按鈕。例如,詢問用戶的性別。
把單選按鈕組合在一起,給它們創建一個邏輯單元,此時必須使用GroupBox控件或其他容器。首先在窗體上拖放一個組框,再把需要的RadioButton按鈕放在組框的邊界之內,RadioButton按鈕會自動改變自己的狀態,以反映組框中惟一被選中的選項。如果不把它們放在組框中,則在任意時刻,窗體上只有一個RadioButton被選中。
1、常用屬性:
(1)Checked屬性:用來設置或返回單選按鈕是否被選中,選中時值為true,沒有選中時值為false。
(2)AutoCheck 屬性:如果 AutoCheck 屬性被設置為 true(默認),那么當選擇該單選按鈕時,將自動清除該組中所有其他單選按鈕。對一般用戶來說,不需改變該屬性,采用默認值(true)即可。
(3)Appearance 屬性:用來獲取或設置單選按鈕控件的外觀。當其取值為 Appearance.Button 時,將使單選按鈕的外觀像命令按鈕一樣:當選定它時,它看似已被按下。當取值為 Appearance.Normal 時,就是默
認的單選按鈕的外觀。
(4)Text屬性:用來設置或返回單選按鈕控件內顯示的文本,該屬性也可以包含訪問鍵,即前面帶有“&”符號的字母,這樣用戶就可以通過同時按Alt鍵和訪問鍵來選中控件。
2、常用事件:
(1)Click事件:當單擊單選按鈕時,將把單選按鈕的Checked屬性值設置為true,同時發生Click事件。
(2)CheckedChanged事件:當Checked屬性值更改時,將觸發CheckedChanged事件。
八、組合框(ComboBox)
       用于在下拉組合框中顯示數據。組合框控件結合了文本框和列表框控件的特點,用戶可以在組合框內輸入文本,也可以在列表框中選擇項目。
ComboBox 控件又稱組合框。默認情況下,組合框分兩個部分顯示:頂部是一個允許輸入文本的文本框,下面的列表框則顯示列表項??梢哉J為ComboBox就是文本框與列表框的組合,與文本框和列表框的功能基本一致。與列表框相比,組合框不能多選,它無 SelectionMode 屬性。但組合框有一個名為DropDownStyle的屬性,該屬性用來設置或獲取組合框的樣式。
九、列表框(ListBox)
      用來顯示一組相關聯的數據,用戶可以從中選擇一個或多個選項。ListBox中的數據既可以在設計時填充,也可以在程序運行填充。列表框(ListBox)中的每個元素稱為“項”。
列表框控件常用屬性、方法和事件:
Items:列表框中所有的項。
MultiColumn:列表框是否支持多列顯示。
SelectedIndex:當前選定項目的索引項,列表框中的每個項都有一個索引號,從0開始。
SelectedItem:獲取當前選定項。
SelectedItems:獲取當前所有選定項的值。
SelectedValue:表示當前選定項的值。
Sorted:指定是否支持排序。
Text:當前選定項的文本。
方法:
Add:向ListBox的項列表添加項。
Insert:將項插入列表框的指定索引處。
Clear:從集合中移除所有項。
Remove:從集合中移除指定的對象。
RemoveAt:移除集合中指定索引處的項。
SelectedIndexChanged:選擇索引發生改變時觸發的事件。
SelectedValueChanged:選擇值發生改變時觸發的事件
十、 分組框(GroupBox)
又稱為分組框,GroupBox控件是對控件進行分組的控件,可以設置每個組的標題。分組框控件屬于容器控件,一般不對該控件編碼。GroupBox控件常常用于邏輯地組合一組控件,如RadioButton 及 CheckBox控件,顯示一個框架,其上有一個標題。
Windows窗體使用GroupBox控件對控件分組的原因有3個:
1、對相關窗體元素進行可視化分組以構造一個清晰的用戶界面。
2、創建編程分組(如單選按鈕分組)。
3、設計時將多個控件作為一個單元移動。
十一、選項卡控件(TabControl)
選項卡用于將相關的控件集中在一起,放在一個頁面中用以顯示多種綜合信息。選項卡控件通常用于顯示多個選項卡,其中每個選項卡均可包含圖片和其他控件。選項卡相當于多窗體控件,可以通過設置多頁面方式容納其他控件。由于該控件的集約性,使得在相同操作面積可以執行多頁面的信息操作,因此被廣泛應用于Windows設計開發之中,被很多程序員所喜愛。
選項卡控件(TabControl)的基本屬性:
Appearance:選項卡標簽的顯示樣式
MultiLine:指定是否可以顯示多行選項卡
SelectedIndex:當前所選選項卡頁的索引值,默認值-1
SelectedTab:當前選定的選項卡頁,如果未選定,則值為Null引用。
ShowToolTips:指定在鼠標移到選項卡時,是否顯示該選項卡的工具提示
TabPages:選項卡集合,可添加修改選項卡
TabCount:檢索選項卡控件中的選項卡數目
選項卡控件(TabControl)的基本事件:
SelectedIndexChaned:切換選項卡時觸發事件
TabControl的屬性一般用于控制TabPage容器的外觀,特別是正在顯示的選項卡。
由于時間倉促,簡單介紹了Winform窗體中常用的十一個控件,有不足的地方請諒解下。
上一篇: asp.net實現md5加密 下一篇: C#winform中 FormBorderStyle各項是什么意思
龙王捕鱼输了10万 天津快乐十分快三遗漏数据 天津快乐10分 福彩3d六码复式选择 下班业余做什么赚钱 宏發彩票网址导航 贵州快3二不同预测 185选号 190足球指数 上游棋牌麻将 3d开奖 江苏11选5和值表 江苏e球彩开奖走势图下载 diy儿童手工赚钱吗 彩票论坛双色球予号 365彩票老版木下载 彩票计划群赚钱套路