前言
MS為我們提供了很多實用的控制項。在進行WinForm程式開發時,工具箱中的控制項可以協助我們方便的設計出滿足客戶需求的UI。本文就介紹一下在開發中常用的WinForm控制項吧。
Button控制項
MSDN中的說明:Windows 表單 Button 控制項允許使用者通過單擊來執行操作。當該按鈕被單擊時,它看起來像是被按下,然後被釋放。每當使用者單擊按鈕時,即調用 Click 事件處理常式。可將代碼放入 Click 事件處理常式來執行所選擇的任意操作。
按鈕上顯示的文本包含在 Text 屬性中。如果文本超出按鈕寬度,則換到下一行。但是,如果控制項無法容納文本的總體高度,則將剪裁文本。(註:對於所有控制項,都可以使用 Text 屬性來設定或返迴文本。使用 Font 屬性可以更改字型。還可以使用設計器設定文本)
Button控制項還可以通過設定BackgroundImage屬性顯示背景圖片。
特別說明:Windows表單可以指定“確定”和“取消”按鈕,可以在視窗編輯器中設定屬性AcceptBution和CancelButton。當設定完成後,使用者按下斷行符號鍵,將執行“確定”按鈕的單擊操作,使用者按下ESC鍵,將執行“取消”按鈕的單擊操作。
CheckBox控制項
MSDN中的說明:Windows 表單 CheckBox 控制項指示某個特定條件是處於開啟狀態還是處於關閉狀態。它常用於為使用者提供是/否或真/假選項。可以成組使用複選框 (CheckBox) 控制項以顯示多重選項,使用者可以從中選擇一項或多項。該控制項與 RadioButton 控制項類似,但可以選擇任意數目的成組 CheckBox 控制項。
對於CheckBox控制項,可以使用Checked屬性判斷是否選中。通過修改Text屬性來改變顯示的文字。
特別說明:CheckBox控制項除了Checked、Unchecked狀態外,還存在第三種狀態Indeterminate(不定),當控制項的狀態為Indeterminate時,它的顯示如:
這時,Checked屬性的值仍然為true。需要注意的是第三種狀態不能由使用者來設定,只能在程式中通過修改CheckState來控制。擷取的時候同樣需要通過CheckState屬性。上面例子中的代碼為:this.checkBox1.CheckState = CheckState.Indeterminate;
TextBox 控制項
MSDN中的說明:Windows 表單文字框用於擷取使用者輸入或顯示文本。TextBox 控制項通常用於可編輯文本,不過也可使其成為唯讀控制項。文字框可以顯示多個行,對文本換行使其符合控制項的大小以及添加基本的格式設定。TextBox 控制項僅允許在其中顯示或輸入的文本採用一種格式。
對於TextBox控制項的多行模式,只需要MultiLine屬性為true即可;如果需要唯讀,則將ReadOnly屬性設為true即可。需要注意的是,TextBox控制項中的文本不能單獨的設定格式,也就是MSDN中所說的“TextBox 控制項僅允許在其中顯示或輸入的文本採用一種格式”。
特別說明:當TextBox控制項採用多行模式時,可以通過Lines屬性擷取或設定控制項中顯示的文本。另外,只有當使用者輸入斷行符號時才會換行,也就是說,TextBox控制項沒有自動換行的功能。
RichTextBox控制項
MSDN中的說明:Windows 表單 RichTextBox 控制項用於顯示、輸入和操作帶有格式的文本。RichTextBox 控制項除了執行 TextBox 控制項的所有功能之外,它還可以顯示字型、顏色和連結,從檔案載入文本和嵌入的映像,撤消和重複編輯操作以及尋找指定的字元。與文書處理應用程式(如 Microsoft Word)類似,RichTextBox 通常用於提供文本操作和顯示功能。與 TextBox 控制項一樣,RichTextBox 控制項也可以顯示捲軸;但與 TextBox 控制項不同的是,預設情況下,該控制項將同時顯示水平捲軸和垂直捲軸,並具有更多的捲軸設定。
RichTextBox可以設定帶格式的常值內容,並可以將這種文本儲存為rtf格式的檔案(當然也可以載入rtf格式檔案)。當通過程式設定這些內容時,需要用到相關的方法,這些方法實在太多,這裡就不一一列出。
ImageList 組件
MSDN中的說明:Windows 表單 ImageList 組件用於儲存映像,這些映像隨後可由控制項顯示。映像列表使您能夠為一致的單個映像目錄編寫代碼。
ImageList組件可謂用途多多,它可以方便的為其它控制項提供圖片儲存。像TreeView、ListBox等控制項,都可以設定ImageList屬性,設定完成後只需要在設定ImageIndex就可以唯一確定一個要顯示的圖片了。
特別說明:TransparentColor屬性可以設定被視為透明的顏色,該屬性的預設值為Transparent,如果將該屬性設定為Red或其它某一個顏色值,當圖片中出現該顏色時將被作為透明來處理。
TreeView 控制項
MSDN中的說明:Windows 表單 TreeView 控制項以類似於在 Windows 作業系統的 Windows 資源管理員左窗格中顯示檔案和檔案夾的方式顯示節點的階層。
使用 Windows 表單 TreeView 控制項,可以為使用者顯示節點階層,就像在 Windows 作業系統的 Windows 資源管理員功能的左窗格中顯示檔案和檔案夾一樣。樹視圖中的各個節點可能包含其他節點,稱為“子節點”。您可以按展開或摺疊的方式顯示父節點或包含子節點的節點。通過將樹視圖的 CheckBoxes 屬性設定為 true,還可以顯示在節點旁邊帶有複選框的樹視圖。然後,通過將節點的 Checked 屬性設定為 true 或 false,可以採用編程方式來選中或清除節點。
特別說明:TreeView支援直接編輯節點的顯示值,這需要將LabelEdit屬性設定為true;TreeView同樣支援節點的移動操作,這需要將AllowDrop屬性設定為true。筆者在網上整理了一個樹節點拖動的例子,感興趣的朋友可以通過這裡下載(SampleDragTreeView.rar)
結束語
Windows控制項很多,本文只列出部分常用控制項進行說明。大部分內容來源與MSDN,特別說明部分為筆者的使用心得。如果你希望瞭解更多Windows控制項的內容,可以在MSDN中查看,相信你會受益匪淺。
另外,筆者曾經對BackgroundWorker 組件和DatagridView控制項的使用進行過簡易的說明,希望對剛進入C#大門的朋友有所協助。