winfrom控件基本知識

 

數據顯示控件

DataGridView 控件

DataGridView 控件提供用來顯示數據的可自定義表。使用 DataGridView 類,能夠自定
義單元格、行、列和邊框。
在可自定義的網格中顯示數據。
命名空間:System.Windows.Forms
程序集:System.Windows.Forms(在 system.windows.forms.dll 中)

語法

[ComVisibleAttribute(true)]
[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)]
public class DataGridView : Control, ISupportInitialize

備註

DataGridView 控件提供用來顯示數據的可自定義表。使用 DataGridView 類,能夠經過
使用 DefaultCellStyle、ColumnHeadersDefaultCellStyle、CellBorderStyle 和 GridColor 等屬
性對單元格、行、列和邊框進行自定義。有關更多信息,請參見 Windows 窗體 DataGridView
控件中的基本格式設置和樣式設置。
可使用 DataGridView 控件來顯示有基礎數據源或沒有基礎數據源的數據。若是沒有
指定數據源,能夠建立包含數據的列和行,並將它們直接添加到 DataGridView。或者,能夠
設置 DataSource 和 DataMember 屬性,以便將 DataGridView 綁定到數據源,並自動用數
據填充該控件。有關更多信息,請參見在 Windows 窗體 DataGridView 控件中顯示數據。
在處理大量數據時,能夠將 VirtualMode 屬性設置爲 true,以便顯示可用數據的子集。
虛擬模式要求實現用來填充 DataGridView 控件的數據緩存。有關更多信息,請參見
Windows 窗體 DataGridView 控件中的數據顯示模式。
有關 DataGridView 控件中可用功能的其餘信息,請參見 DataGridView 控件(Windows
窗體)。
雖然 DataGridView 控件替代了之前版本的 DataGrid 控件並增長了功能,可是爲了實
現向後兼容並考慮到未來的使用(若是您選擇的話),仍然保留了 DataGrid 控件。
 

數據綁定和定位控件

BindingSource 組件

經過提供當前項管理、更改通知和其餘服務,來簡化將窗體上的控件綁定到數據的過程。
封裝窗體的數據源。
命名空間:System.Windows.Forms
程序集:System.Windows.Forms(在 system.windows.forms.dll 中)

語法

Public class BindingSource : Component, IBindingListView, IBindingList,
IList,ICollection,IEnumerable,ITypedList,ICancelAddNew,ISupportInitializeNotification,
ISupportInitialize, ICurrencyManagerProvider

備註

BindingSource 組件有兩種用途。首先,它經過提供一個間接尋址層、當前項管理、更
改通知和其餘服務簡化了窗體中控件到數據的綁定。這是經過將 BindingSource 組件附加到
數據源而後將窗體中的控件綁定到 BindingSource 組件來實現的。與數據的全部進一步交
互,包括定位、排序、篩選和更新,都經過調用 BindingSource 組件實現。
第二,BindingSource 組件能夠做爲一個強類型的數據源。一般,基礎數據源的類型通
過如下機制之一固定:
使用 Add 方法可將某項添加到 BindingSource 組件中。
將 DataSource 屬性設置爲一個列表、單個對象或類型。
這兩種機制都建立一個強類型列表。 BindingSource 支持由其 DataSource 和
DataMember 屬性指示的簡單數據綁定和複雜數據綁定。
BindingSource 提供了用於訪問基礎數據的成員。經過 Current 屬性能夠檢索當前項,
經過 List 屬性能夠檢索整個列表。經過 Current、RemoveCurrent、EndEdit、CancelEdit、Add
和 AddNew 方法可支持對當前項的編輯操做。儘管對於全部基礎數據源類型會自動處理當
前項管理,但該類公開了許多容許自定義的事件,例如 CurrentItemChanged 和
DataSourceChanged。
綁定到 BindingSource 組件的數據源也可使用 BindingNavigator 類定位和管理,該類
提供像 VCR 同樣的用戶界面 (UI) 用於定位列表中的項。儘管 BindingNavigator 能夠綁定
到任何數據源,但它被設計爲經過其 BindingNavigator.BindingSource 屬性與 BindingSource
組件集成。
BindingSource 類的默認屬性爲 DataSource。默認事件爲 CurrentChanged。
 
 

BindingNavigator 控件

提供工具欄式的界面來定位和操做窗體上的數據。
表示窗體上綁定到數據的控件的導航和操做用戶界面 (UI)。
命名空間:System.Windows.Forms
程序集:System.Windows.Forms(在 system.windows.forms.dll 中)

語法

[ComVisibleAttribute(true)]
[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)]
public class BindingNavigator : ToolStrip, ISupportInitialize

備註

BindingNavigator 控件表示在窗體上定位和操做數據的標準化方法。多數狀況下,
BindingNavigator 與 BindingSource 控件成對出現,用於瀏覽窗體上的數據記錄,並與它們
交互。在這些狀況下, BindingSource 屬性被設置爲做爲數據源的關聯
System.Windows.Forms.BindingSource 組件。
默認狀況下,BindingNavigator 控件的用戶界面 (UI) 由一系列 ToolStrip 按鈕、文本框
和靜態文本元素組成,用於進行大多數常見的數據相關操做(如添加數據、刪除數據和在數
據中導航)。每一個控件均可以經過 BindingNavigator 控件的關聯成員進行檢索或設置。相似
地,還與以編程方式執行相同功能的 BindingSource 類的成員存在一一對應關係,以下表所
示。
UI 控件 BindingNavigator 成員 BindingSource 成員
移到最前 MoveFirstItem MoveFirst
前移一步 MovePreviousItem MovePrevious
當前位置 PositionItem Current
統計 CountItem Count
移到下一條記錄 MoveNextItem MoveNext
移到最後 MoveLastItem MoveLast
新添 AddNewItem AddNew
刪除 DeleteItem RemoveCurrent
將 BindingNavigator 控件添加到窗體並綁定到數據源(例如 BindingSource)時,將自C#從入門到精通
動在此表中創建關係。
BindingNavigator 的全部構造函數都調用 AddStandardItems 方法以將標準的 UI 控件
集與導航工具欄關聯起來。可以使用如下技術之一自定義此工具欄:
建立帶有 BindingNavigator(Boolean) 構造函數的 BindingNavigator,此構造函數接受
Boolean 型的 addStandardItems 參數,並將此參數設置爲 false。而後將須要的 ToolStripItem
對象添加到 Items 集合。
若是須要進行大量的自定義設置,或者將重複使用自定義設計,應從 BindingNavigator
派生一個類並重寫 AddStandardItems 方法以定義附加標準項或替換標準項。
 

文本編輯控件

TextBox 控件

顯示設計時輸入的文本,它可由用戶在運行時編輯或以編程方式更改。
表示 Windows 文本框控件。
命名空間:System.Windows.Forms
程序集:System.Windows.Forms(在 system.windows.forms.dll 中)

語法

[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)]
[ComVisibleAttribute(true)]
public class TextBox : TextBoxBase

備註

使用 TextBox 控件,用戶能夠在應用程序中輸入文本。此控件具備標準 Windows 文本
框控件所沒有的附加功能,包括多行編輯和密碼字符屏蔽。
一般,TextBox 控件用於顯示單行文本或將單行文本做爲輸入來接受。可使用
Multiline 和 ScrollBars 屬性,從而可以顯示或輸入多行文本。經過將 AcceptsTab 和
AcceptsReturn 屬性設置爲 true,可在多行 TextBox 控件中更加靈活地操做文本。
經過將 MaxLength 屬性設置爲一個特定的字符數,能夠限制輸入到 TextBox 控件中的
文本數量。TextBox 控件還可用於接受密碼和其餘敏感信息。可使用 PasswordChar 屬性
屏蔽在控件的單行版本中輸入的字符。使用 CharacterCasing 屬性可以使用戶在 TextBox 控件
中只能輸入大寫字符、只能輸入小寫字符,或者輸入大小寫字符的組合。
若要限制某些文本不被輸入到 TextBox 控件,能夠爲 KeyDown 事件建立一個事件處
理程序,以便驗證在控件中輸入的每一個字符。也能夠經過將 ReadOnly 屬性設置爲 true 來
限制 TextBox 控件中的全部數據項輸入。
Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows CE 平臺說明:
在 Pocket PC 應用程序中,單行文本框中的選項卡顯示爲括號,但當 Multiline 設置爲 true
時正常顯示。

RichTextBox 控件

使文本可以以純文本或 RTF 格式顯示。
表示 Windows 多格式文本框控件。
命名空間:System.Windows.Forms
程序集:System.Windows.Forms(在 system.windows.forms.dll 中)

語法

[ComVisibleAttribute(true)]
[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)]
public class RichTextBox : TextBoxBase

備註

用戶能夠經過 RichTextBox 控件輸入和編輯文本。該控件還提供比標準 TextBox 控件
更高級的格式設置功能。能夠將文本直接分配給該控件,或者從 RTF 格式文件或純文本文
件加載文本。能夠爲控件內的文本分配字符和段落格式設置。
RichTextBox 控件提供許多可對控件內任何文本部分應用格式設置的屬性。若要更改文
本的格式設置,必須首先選定此文本。只能爲選定的文本分配字符和段落格式設置。對選定
的文本內容進行設置後,在選定內容後輸入的全部文本也用相同的設置進行格式設置,直到
更改設置或選定控件文檔的不一樣部分爲止。SelectionFont 屬性使您得以將文本以粗體或斜體
顯示。還可使用此屬性更改文本的大小和字樣。SelectionColor 屬性使您得以更改文本的
顏色。若要建立項目符號列表,可使用 SelectionBullet 屬性。還能夠經過設置
SelectionIndent、SelectionRightIndent 和 SelectionHangingIndent 屬性調整段落格式設置。
RichTextBox 控件提供具備打開和保存文件的功能的方法。LoadFile 方法使您得以將現
有的 RTF 或 ASCII 文本文件加載到控件中。還能夠從已打開的數據流加載數據。SaveFile
使您得以將文件保存到 RTF 或 ASCII 文本中。與 LoadFile 方法類似,還可使用
SaveFile 方法保存到開放式數據流。RichTextBox 控件還提供查找文本字符串的功能。Find
方法被重載,能夠同時查找控件文本內的文本字符串以及特定字符。
也能夠將 RichTextBox 控件初始化爲內存中存儲的數據。例如,能夠將 Rtf 屬性初始
化爲包含要顯示文本的字符串,包括肯定如何設置該文本格式的 RTF 代碼。
若是控件內的文本包含連接(如到網站的連接),則可使用 DetectUrls 屬性適當地顯
示控件文本中的連接。而後能夠處理 LinkClicked 事件以執行與該連接關聯的任務。
SelectionProtected 屬性使您得以保護控件內的文本不被用戶操做。當控件中有受保護的文本
時,能夠處理 Protected 事件以肯定用戶什麼時候曾試圖修改受保護的文本,並提醒用戶該文本
是受保護的,或向用戶提供標準方式供其操做受保護的文本。
已使用 TextBox 控件的應用程序很容易就能夠調整爲使用 RichTextBox 控件。可是,
RichTextBox 控件沒有與 TextBox 控件相同的 64K 字符容量限制。與字處理應用程序(如
Microsoft Word)相似,RichTextBox 一般用於提供文本操做和顯示功能。
 

MaskedTextBox 控件

約束用戶輸入的格式
使用掩碼區分正確和不正確的用戶輸入。
命名空間:System.Windows.Forms
程序集:System.Windows.Forms(在 system.windows.forms.dll 中)

語法

[ComVisibleAttribute(true)]
[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)]
public class MaskedTextBox : TextBoxBase

備註

MaskedTextBox 類是一個加強型的 TextBox 控件,它支持用於接受或拒絕用戶輸入的
聲明性語法。經過使用 Mask 屬性,無需在應用程序中編寫任何自定義驗證邏輯,便可指定
下列輸入:
必需的輸入字符。
可選的輸入字符。
掩碼中的給定位置所需的輸入類型;例如,只容許數字、只容許字母或者容許字母和數字。
掩碼的原義字符,或者應直接出如今 MaskedTextBox 中的字符;例如,電話號碼中的
連字符 (-),或者價格中的貨幣符號。
輸入字符的特殊處理;例如,將字母字符轉換爲大寫字母。
當 MaskedTextBox 控件在運行時顯示時,會將掩碼錶示爲一系列提示字符和可選的原
義字符。表示一個必需或可選輸入的每一個可編輯掩碼位置都顯示爲單個提示字符。例如,數
字符號 (#) 一般用做數字字符輸入的佔位符。可使用 PromptChar 屬性來指定自定義提示
字符。HidePromptOnLeave 屬性決定當控件失去輸入焦點時用戶可否看到提示字符。
當用戶在掩碼文本框中鍵入內容時,有效的輸入字符將按順序替換其各自的提示字符。
若是用戶鍵入無效的字符,將不會發生替換。在這種狀況下,若是 BeepOnError 屬性設置爲
true,將發出警告聲,並引起 MaskInputRejected 事件。能夠經過處理此事件來提供您本身的
自定義錯誤處理邏輯。
若是當前插入點位於原義字符處,用戶將有多種選擇:
若是鍵入提示字符之外的字符,將自動跳過該原義字符,輸入字符將應用於下一個提示
字符所表示的下一個可編輯位置。
若是鍵入提示字符,而且 AllowPromptAsInput 屬性爲 true,輸入將覆蓋提示字符,插
入點將移至掩碼中的下一個位置。
始終可使用箭頭鍵來定位到上一個或下一個位置。
可使用 MaskFull 屬性來驗證用戶是否輸入了全部必需的輸入內容。Text 屬性將始終檢索按照掩碼和 TextMaskFormat 屬性設置格式的用戶輸入。
實際上,MaskedTextBox 控件將全部掩碼處理工做交給由 MaskedTextProvider 屬性指定的 System.ComponentModel.MaskedTextProvider 類來完成。此標準提供程序支持除代理項和縱向組合字符之外的全部 Unicode 字符;可是,可使用 AsciiOnly 屬性將輸入限定爲字符集 a-z、A-Z 和 0-9 內的字符。
掩碼不能保證用戶輸入必定會表示給定類型的有效值,例如,輸入的年齡值可能爲 -9。經過將值的類型的實例賦給 ValidatingType 屬性,能夠確保用戶輸入表示一個有效值。經過監視 TypeValidationCompleted 事件,能夠檢測當 MaskedTextBox 包含無效值時,用戶是否
將焦點從該控件移開。若是鍵入驗證成功,能夠經過 TypeValidationEventArgs 參數的ReturnValue 屬性使用表示該值的對象。
與 TextBox 控件同樣,幾個通用鍵盤快捷鍵不能用於 MaskedTextBox。尤爲是 Ctrl-R(右對齊文本)、Ctrl-L(左對齊文本)和 Ctrl-E(文本居中)都無效。
 

信息顯示控件

Label 控件

顯示用戶沒法直接編輯的文本。
表示標準 Windows 標籤。
命名空間:System.Windows.Forms
程序集:System.Windows.Forms(在 system.windows.forms.dll 中)

語法

[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)]
[ComVisibleAttribute(true)]
public class Label : Control

備註

Label 控件一般用於提供控件的描述性文字。例如,可以使用 Label 爲 TextBox 控件添
加描述性文字,以便將控件中所需的數據類型通知用戶。Label 控件還可用於爲 Form 添加
描述性文字,以便爲用戶提供有幫助做用的信息。例如,可將 Label 添加到 Form 的頂部,爲用戶提供關於如何將數據輸入窗體上的控件中的說明。Label 控件還可用於顯示有關應用程序狀態的運行時信息。例如,可將 Label 控件添加到窗體,以便在處理一列文件時顯示每一個文件的狀態。Label 參與窗體的 Tab 鍵順序,但不接收焦點(Tab 鍵順序中的下一個控件接收焦點)。例如,若是 UseMnemonic 屬性設置爲 true,而且在控件的 Text 屬性中指定助記鍵字符(「and」符 (&) 以後的第一個字符),則當用戶按下 Alt+ 助記鍵時,焦點移動到 Tab 鍵順序中的下一個控件。該功能爲窗體提供鍵盤導航。除了顯示文本外,Label 控件還可以使用Image 屬性顯示圖像,或使用 ImageIndex 和 ImageList 屬性組合顯示圖像。

LinkLabel 控件

將文本顯示爲 Web 樣式的連接,並在用戶單擊該特殊文本時觸發事件。該文本一般是
到另外一個窗口或網站的連接。
表示可顯示超連接的 Windows 標籤控件。
命名空間:System.Windows.Forms
程序集:System.Windows.Forms(在 system.windows.forms.dll 中)
 

語法

[ComVisibleAttribute(true)]
[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)]
public class LinkLabel : Label, IButtonControl

備註

ToolStripLabel 控件替換並向 Label 和 LinkLabel 控件添加功能。可是,Label 和 LinkLabel
控件均被保留下來,以實現向後兼容性和供之後使用(若是選用的話)。
LinkLabel 控件除了可顯示超連接之外,它與 Label 控件相似。在控件的文本中能夠指
定多個超連接。每一個超連接可在應用程序內執行不一樣的任務。例如,可以使用超連接在 Microsoft
Internet Explorer 中顯示網站或加載與應用程序關聯的日誌文件。
在 LinkLabel 控件中顯示的每一個超連接都是 LinkLabel.Link 類的一個實例。
LinkLabel.Link 類定義超連接的顯示信息、狀態和位置。另外,LinkLabel.Link 類的 LinkData
屬性使您得以將信息(如要顯示的 URL)與超連接關聯。當用戶單擊控件內的超連接時,
引 發 LinkClicked 事件,表示所單擊的超連接的 LinkLabel.Link 對象做爲
LinkLabelLinkClickedEventArgs 對象(該對象做爲參數傳遞)的一部分傳遞給事件處理程序。
可使用此對象獲取與用戶所單擊的超連接關聯的 LinkLabel.Link 對象。LinkLabel 控件內
包含的全部超連接都存儲在控件的 LinkLabel.LinkCollection 類實例中。
有兩種方法可將超連接添加到 LinkLabel 控件中。最快捷的方法是指定 LinkArea,並
將其分配給 LinkArea 屬性。這使您得以在控件的文本內指定單個超連接。若要添加多個超
連接,可以使用 LinkLabel.LinkCollection 類的 Add 方法,用戶能夠經過 Links 屬性訪問該
集合來使用此方法。
建立 LinkLabel 控件時,將向 LinkLabel.LinkCollection 添加包含 LinkLabel 控件內的
所有文本的默認超連接。可使用 LinkArea 屬性指定新的連接區域來重寫此默認連接;或
者使用 LinkLabel.LinkCollection 的 Add 方法指定連接。也可以使用 LinkLabel.LinkCollection
類的 Remove 方法來移除默認超連接。
LinkLabel 提供許多屬性,這些屬性使您得以定義控件中超連接的顯示外觀。
ActiveLinkColor、DisabledLinkColor、LinkColor 和 VisitedLinkColor 屬性定義在各類狀態下
顯示超連接時所使用的顏色。LinkBehavior 屬性定義與超連接關聯的下劃線的顯示方式。
StatusStrip 控件
一般在父窗體的底部使用有框架的區域顯示有關應用程序的當前狀態的信息。
表示 Windows 狀態欄控件。
命名空間:System.Windows.Forms
程序集:System.Windows.Forms(在 system.windows.forms.dll 中)C#控件查詢手冊 王牌2
語法
[ComVisibleAttribute(true)]
[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)]
public class StatusStrip : ToolStrip
備註
雖然 StatusStrip 對之前版本的 StatusBar 控件進行替換和擴展,可是考慮到向後兼容性
和未來的使用(若是您選擇),仍然保留了 StatusBar。
StatusStrip 控件顯示關於正在 Form 上查看的對象或該對象的組件的信息,或顯示與該
對象在應用程序中操做相關的上下文信息。一般 StatusStrip 控件由 ToolStripStatusLabel 對
象組成,其中每一個對象都顯示文本和 / 或圖標。 StatusStrip 還可包含
ToolStripDropDownButton、ToolStripSplitButton 和 ToolStripProgressBar 控件。
默認的 StatusStrip 沒有面板。若要將面板添加到 StatusStrip ,請使用
ToolStripItemCollection.AddRange 方法,或使用 StatusStrip 項集合編輯器在設計時添加、移
除或從新排序項並修改屬性。使用 StatusStrip 任務對話框在設計時運行經常使用命令。
ProgressBar 控件
向用戶顯示操做的當前進度。
表示 Windows 進度欄控件。
命名空間:System.Windows.Forms
程序集:System.Windows.Forms(在 system.windows.forms.dll 中)
語法
[ComVisibleAttribute(true)]
[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)]
public class ProgressBar : Control
備註
ProgressBar 控件以三種樣式中的一種指示較長操做的進度:
從左向右分步遞增的分段塊。
從左向右填充的連續欄。
以字幕方式在 ProgressBar 中滾動的塊。
Style 屬性肯定顯示的 ProgressBar 的樣式。注意,ProgressBar 控件只能是水平方向的。有
關如何建立垂直方向的 ProgressBar 的示例,請參見 ProgressBarRenderer 類。ProgressBar 控
件一般在應用程序執行諸如複製文件或打印文檔等任務時使用。若是沒有視覺提示,應用程
序的用戶可能會認爲應用程序不響應。經過在應用程序中使用 ProgressBar,能夠警告用戶應
用程序正在執行冗長的任務且應用程序仍在響應。
15 C#從入門到精通
Maximum 和 Minimum 屬性定義了兩個值的範圍用以表現任務的進度。Minimum 屬性一般
設置爲值 0,Maximum 屬性一般設置爲指示任務完成的值。例如,若要正確顯示覆制一組
文件時的進度,Maximum 屬性應設置成要複製的文件的總數。
Value 屬性表示應用程序在完成操做的過程當中的進度。ProgressBar 顯示的值僅僅是近似於
Value 屬性的當前值。根據 ProgressBar 的大小,Value 屬性肯定什麼時候顯示下一個塊或增長
欄大小。
除了直接更改 Value 屬性以外還有許多方式能夠修改由 ProgressBar 顯示的值。可使
用 Step 屬性指定一個特定值用以逐次遞增 Value 屬性的值,而後調用 PerformStep 方法來
使該值遞增。若要更改增量值,可使用 Increment 方法並指定一個用來遞增 Value 屬性的
值。
16 C#控件查詢手冊 王牌2
網頁顯示控件
WebBrowser 控件
使用戶能夠在窗體內導航網頁。
使用戶能夠在窗體中導航網頁。
命名空間:System.Windows.Forms
程序集:System.Windows.Forms(在 system.windows.forms.dll 中)
語法
[ComVisibleAttribute(true)]
[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)]
public class WebBrowser : WebBrowserBase
備註
使用 WebBrowser 控件能夠在 Windows 窗體應用程序中承載網頁以及支持瀏覽器的
其餘文檔。例如,可使用 WebBrowser 控件在應用程序中提供基於 HTML 的集成用戶幫
助或 Web 瀏覽功能。此外,還可使用 WebBrowser 控件向 Windows 窗體客戶端應用程
序添加基於 Web 的現有控件。
WebBrowser 控件不能由部分受信任的代碼使用。有關更多信息,請參見經過部分受信
任的代碼使用庫。
WebBrowser 控件具備多個與導航相關的屬性、方法和事件。使用下面的成員能夠將控
件導航到特定 URL、在導航歷史記錄列表中向後和向前移動,還能夠加載當前用戶的主頁
和搜索頁:
Url
Navigate
GoBack
GoForward
GoHome
GoSearch
若是導航不成功,則顯示一頁指示出現的問題。使用這些成員中的任何一個進行導航都
會致使在導航的不一樣階段發生 Navigating、Navigated 和 DocumentCompleted 事件。
使用這些成員和其餘成員(如 Stop 和 Refresh 方法)能夠在應用程序中實現與 Internet
Explorer 中的用戶界面控件相似的用戶界面控件。即便不但願在窗體上顯示 WebBrowser 控
件,某些成員也十分有用。例如,可使用 Print 方法打印網頁的最新版本,而不向用戶顯
示該頁。
17 C#從入門到精通
使用 WebBrowser 控件還能夠顯示在應用程序中建立的內容或從數據庫或資源文件檢
索的內容。使用 DocumentText 或 DocumentStream 屬性,以字符串或數據流的形式獲取或
設置當前文檔的內容。
還能夠經過 Document 屬性操做網頁的內容,該屬性包含一個 HtmlDocument 對象,向
當前頁提供對 HTML 文檔對象模型 (DOM) 的託管訪問。該屬性與 ObjectForScripting 屬
性組合使用時,對在應用程序代碼與網頁中的動態 HTML (DHTML) 代碼之間實現雙向通訊
十分有用,使用它能夠在單個用戶界面中組合基於 Web 的控件和 Windows 窗體控件。在
應用程序中可使用 Document 屬性調用腳本代碼方法。腳本代碼能夠經過 window.external
對象訪問應用程序,該對象是用於主機訪問的內置 DOM 對象,它映射到爲
ObjectForScripting 屬性指定的對象。
Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows CE 平臺說明:
要實現 .NET Compact Framework 應用程序中的 WebBrowser 的完整功能,須要用於 Pocket
PC 和 Smartphone 的 Windows Mobile 5.0 版軟件。有關更多信息,請參見如何:在 .NET
Compact Framework 中使用 WebBrowser 控件。
18 C#控件查詢手冊 王牌2
19
從列表中選擇控件
CheckedListBox 控件
顯示一個可滾動的項列表,每項旁邊都有一個複選框。
顯示一個 ListBox,其中在每項的左邊顯示一個複選框。
命名空間:System.Windows.Forms
程序集:System.Windows.Forms(在 system.windows.forms.dll 中)
語法
[ComVisibleAttribute(true)]
[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)]
public class CheckedListBox : ListBox
備註
該控件提供一個項列表,用戶可使用鍵盤或控件右側的滾動條定位該列表。用戶能夠
在一項或多項旁邊放置選中標記,而且能夠經過 CheckedListBox.CheckedItemCollection 和
CheckedListBox.CheckedIndexCollection 瀏覽選中項。
若要在運行時向列表添加對象,請用 AddRange 方法分配一個對象引用數組。而後,列
表顯示每一個對象的默認字符串值。能夠用 Add 方法向列表添加單個項。
CheckedListBox 對象經過 CheckState 枚舉支持三種狀態:Checked、Indeterminate 和
Unchecked。必須在代碼中設置 Indeterminate 狀態,由於 CheckedListBox 的用戶界面未提
供這樣操做的機制。
若是 UseTabStops 爲 true,CheckedListBox 將在某項的文本中識別並擴展製表符,從
而建立列。可是,製表位已預設,沒法進行更改。
CheckedListBox 類支持如下三種索引集合:
集合 封裝類
CheckedListBox 控件中包含的全部項。 CheckedListBox.ObjectCollection
選中項(包括處於不肯定狀態的項),它
是 CheckedListBox 控件中所包含項的子集。
CheckedListBox.CheckedItemCollection
選中的索引,它是項集合中索引的子集。
這些索引指定處於選中狀態或不肯定狀態的
項。
CheckedListBox.CheckedIndexCollection C#從入門到精通
20
下面三個表是 CheckedListBox 類支持的三個索引集合的示例。
第一個表提供控件中項(控件中包含的全部項)的索引集合的示例。
索引 項 複選狀態
0 對象 1 Unchecked
1 對象 2 Checked
2 對象 3 Unchecked
3 對象 4 Indeterminate
4 對象 5 Checked
第二個表提供選中項的索引集合的示例。
索引 項
0 對象 2
1 對象 4
2 對象 5
第三個表提供選中項的索引的索引集合示例。
索引 項的索引
0 1
1 3
2 4
注意 不能將數據綁定到 CheckedListBox。請改用 ComboBox 或 ListBox 綁定數據。
有關更多信息,請參見如何:將 Windows 窗體 ComboBox 控件或 ListBox 控件綁定到數
據。
ComboBox 控件
顯示一個下拉式項列表。
表示 Windows 組合框控件。
命名空間:System.Windows.Forms
程序集:System.Windows.Forms(在 system.windows.forms.dll 中)C#控件查詢手冊 王牌2
語法
[ComVisibleAttribute(true)]
[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)]
public class ComboBox : ListControl
備註
ComboBox 顯示與一個 ListBox 組合的文本框編輯字段,使用戶能夠從列表中選擇項,
也能夠輸入新文本。ComboBox 的默認行爲是顯示一個編輯字段,該字段具備一個隱藏的下
拉列表。DropDownStyle 屬性肯定要顯示的組合框的樣式。能夠輸入一個值,該值提供如下
功能:簡單的下拉列表(始終顯示列表)、下拉列表框(文本部分不可編輯,而且必須選擇
一個箭頭才能查看下拉列表框)或默認下拉列表框(文本部分可編輯,而且用戶必須按箭頭
鍵才能查看列表)。若要顯示用戶不能編輯的列表,請使用 ListBox 控件。
若要在運行時向列表添加對象,請用 AddRange 方法分配一個對象引用數組。而後,列
表顯示每一個對象的默認字符串值。能夠用 Add 方法添加單個對象。
除了顯示和選擇功能外,ComboBox 還提供一些功能,使您得以有效地將項添加到
ComboBox 中以及在列表的項內查找文本。使用 BeginUpdate 和 EndUpdate 方法,能夠將
大量項添加到 ComboBox 中,而無需在每次將一個項添加到列表中時都從新繪製該控件。
FindString 和 FindStringExact 方法使您得以在列表中搜索包含特定搜索字符串的項。
可使用這些屬性管理列表中當前選定的項,使用 Text 屬性指定編輯字段中顯示的字
符串,使用 SelectedIndex 屬性獲取或設置當前項,以及使用 SelectedItem 屬性獲取或設置
對對象的引用。
DomainUpDown 控件
顯示用戶可用向上和向下按鈕滾動的文本項列表。
表示顯示字符串值的 Windows 數字顯示框(也稱爲 up-down 控件)。
命名空間:System.Windows.Forms
程序集:System.Windows.Forms(在 system.windows.forms.dll 中)
語法
[ComVisibleAttribute(true)]
[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)]
public class DomainUpDown : UpDownBase
備註
DomainUpDown 控件顯示單個字符串值,該值是經過單擊控件的向上或向下按鈕從
Object 集合中選定的。除非 ReadOnly 屬性設置爲 true,不然用戶也能夠在控件中輸入文本
21 C#從入門到精通
(鍵入的字符串必須匹配集合中的某項才能被接受)。選中某項時,該對象將轉換爲一個字
符串值,以即可顯示在數字顯示框中。
若要建立要在 DomainUpDown 控件中顯示的對象的集合,能夠經過使用 Add 和
Remove 方法分別添加或移除這些項。這可在事件處理程序(如按鈕的 Click 事件)中調用。
經過 Sorted 屬性設置爲 true,可按字母順序對對象集合進行排序。當 Wrap 屬性設置爲 true
時,若是滾動超過了集合中最後一個或第一個對象,列表將分別從第一個或最後一個對象重
新開始,但看起來是在連續的列表中滾動。
在代碼中或經過單擊向上或向下按鈕調用 UpButton 或 DownButton 方法時,將調用
UpdateEditText 來用新字符串更新該控件。若是 UserEdit 設置爲 true,則在更新該控件的
文本顯示以前,該字符串要與集合中的一個值匹配。
ListBox 控件
顯示一個文本項和圖形項(圖標)列表。
表示用於顯示項列表的 Windows 控件。
命名空間:System.Windows.Forms
程序集:System.Windows.Forms(在 system.windows.forms.dll 中)
語法
[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)]
[ComVisibleAttribute(true)]
public class ListBox : ListControl
備註
ListBox 控件使您得以向用戶顯示一列項,用戶可經過單擊選擇這些項。ListBox 控件可
使用 SelectionMode 屬性提供單項選擇或多重選擇。ListBox 還提供 MultiColumn 屬性,以
啓用按多列顯示項而不是項的垂直列表。這樣,控件即可以顯示更多可見項,用戶再也不須要
滾動到某項進行查看。
一般,Windows 處理繪製在 ListBox 中顯示的項的任務。您可使用 DrawMode 屬性
並處理 MeasureItem 和 DrawItem 事件,以重寫 Windows 所提供的自動繪製,本身對項進
行繪製。可使用全部者描述的 ListBox 控件顯示高度可變的項、圖像或者爲列表中每一個項
的文本顯示不一樣的顏色或字體。HorizontalExtent 屬性、GetItemHeight 和 GetItemRectangle
也能夠幫助您繪製本身的項。
除了顯示和選擇功能外,ListBox 還提供一些功能,使您得以有效地將項添加到 ListBox
中以及在列表的項內查找文本。BeginUpdate 和 EndUpdate 方法使您得以將大量項添加到
ListBox 中,而沒必要每次將一個項添加到列表中時都從新繪製該控件。FindString 和
FindStringExact 方法使您得以在列表中搜索包含特定搜索字符串的項。
Items、SelectedItems 和 SelectedIndices 屬性提供對 ListBox 所使用的三個集合的訪問。下
22 C#控件查詢手冊 王牌2
23
表概述 ListBox 使用的三個集合及其在控件內的用途。
集合類 在 ListBox 內使用
ListBox.ObjectCollection 包括 ListBox 控件中包含的全部項。
ListBox.SelectedObjectCollection 包含選定項的集合,該集合是包含在 ListBox 控件
中的項的子集。
ListBox.SelectedIndexCollection 包含選定索引的集合,該集合是
ListBox.ObjectCollection 的索引的子集。這些索引指定選
定的項。
下面的三個示例闡釋 ListBox 類支持的三個索引集合。
下表提供了一個示例,演示 ListBox.ObjectCollection 如何存儲 ListBox 的項以及它們
在示例 ListBox 控件中的選擇狀態。
索引 項 ListBox 中的選擇狀態
0 object1 未選定
1 object2 已選定
2 object3 未選定
3 object4 已選定
4 object5 已選定
根據上表中顯示的 ListBox.ObjectCollection,此表顯示 ListBox.SelectedObjectCollection
的顯示方式。
索引 項
0 object2
1 object4
2 object5
根據上表中顯示的 ListBox.ObjectCollection,此表顯示 ListBox.SelectedIndexCollection
的顯示方式。
索引 項的索引
0 1 C#從入門到精通
24
1 3
2 4
ListBox.ObjectCollection 類的 Add 方法使您得以將項添加到 ListBox 中。當向
ListBox 添加成員時,Add 方法可接受任何對象。當向 ListBox 中添加對象時,該控件使用
在該對象的 ToString 方法中定義的文本,除非在 DisplayMember 屬性中指定了該對象內的
成員名。除了使用 ListBox.ObjectCollection 類的 Add 方法添加項外,還可使用
ListControl 類的 DataSource 屬性添加項。
ListView 控件
在四個不一樣視圖之一中顯示項。這些視圖包括純文本視圖、帶有小圖標的文本視圖、帶
有大圖標的文本視圖和詳細信息視圖。
表示 Windows 列表視圖控件,該控件顯示可用四種不一樣視圖之一顯示的項集合。
命名空間:System.Windows.Forms
程序集:System.Windows.Forms(在 system.windows.forms.dll 中)
語法
[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)]
[ComVisibleAttribute(true)]
public class ListView : Control
備註
ListView 控件容許您顯示項列表,這些項帶有項文本和圖標(可選)來標識項的類型。
例如,Windows 資源管理器的文件列表就與 ListView 控件的外觀類似。它顯示樹中當前選
定的文件和文件夾的列表。每一個文件和文件夾都顯示一個與之相關的圖標,以幫助標識文件
或文件夾的類型。ListViewItem 類表示 ListView 控件中的項。列表中顯示的項能夠用五種
不一樣視圖之一顯示。這些項能夠顯示爲大圖標、小圖標,也能夠在垂直列表中顯示爲小圖標。
這些項也能夠具備子項,子項包含與父項相關的信息。詳細信息視圖容許您在網格中顯示項
及其子項,並經過列標頭標識要在子項中顯示的信息。平鋪視圖的應用範圍有必定的限制(如
下所述),它容許以相似貼瓷磚的方式顯示項及其子項,每塊「瓷磚」(平鋪單元)包含一個
大圖標以及圖標旁的文字信息。ListView 支持單選和多選。多重選擇功能使用戶能夠按照與
ListBox 控件類似的方式從項列表中進行選擇。另外,用戶還能夠激活選定項來執行任務。
例如,可使用 ListView 控件顯示應用程序能夠打開並使用的文件的列表。用戶能夠選擇
要打開的文件,而後雙擊它們來激活項,並在應用程序中打開文件。ListView 也可使用
CheckBoxes 屬性顯示覆選框,以使用戶能夠選中要對其執行操做的項。能夠用各類方式來
使用 ListView 控件。控件可用於顯示來自應用程序、數據庫或文本文件的信息。ListView 也C#控件查詢手冊 王牌2
25
可用於獲取來自用戶的信息,例如選擇一組要處理的文件。
ListView 提供了大量可靈活設置外觀和行爲的屬性。View 屬性容許您更改項的顯示方
式。LargeImageList、SmallImageList 和 StateImageList 屬性容許您指定包含爲項顯示的圖像
的 ImageList 對象;而且,就 StateImageList 屬性而言,當 CheckBoxes 屬性設置爲 true 時,
它容許您指定所顯示的複選框。要肯定選中了哪些項,可以使用 CheckedItems 屬性來訪問
ListView.CheckedListViewItemCollection 集合。 Columns 屬性容許訪問
ListView.ColumnHeaderCollection,它存儲了當控件的 View 屬性設置爲 Details 時顯示的列
標頭。經過 Items 屬性,能夠在 ListView 中添加和移除項。Items 屬性容許您訪問控件的
ListView.ListViewItemCollection,它提供在控件中操做項的方法。若是須要容許用戶編輯項
的文本,可以使用 LabelEdit 屬性。當控件包含大量的項時,用戶在通過排序的列表中查看這
些項一般會更加容易。您可使用 Sorting 屬性按字母順序對項進行排序。您也能夠對
ListView 控件的外觀進行全面的自定義。爲實現此目的,可將 OwnerDraw 屬性設置爲 true,
並處理如下的一個或多個事件:DrawItem、DrawSubItem 和 DrawColumnHeader。
當 ListView 控件的 View 屬性設置爲 Details 時,將使用該控件的許多屬性。
AllowColumnReorder 屬性容許 ListView 控件的用戶在運行時從新配置列的順序。
FullRowSelect 屬性容許選擇項及其子項(而不只僅是項)。要在詳細資料視圖中顯示網格線
以標識 ListView 中的項及其子項的邊界,可以使用 GridLines 屬性。HeaderStyle 屬性容許您
指定要顯示的列標頭的類型。
除了可用於 ListView 控件的許多屬性外,應用程序還可使用方法和事件來爲
ListView 提供附加功能。經過 BeginUpdate 和 EndUpdate 方法,可在每次添加項時防止控
件進行從新繪製,從而在向 ListView 添加多個項時改善性能。若是 ListView 控件顯示的是
項和子項,您也許會須要提供用戶用鼠標右鍵單擊子項時的功能。要肯定其子項被單擊的項,
可以使用 GetItemAt 方法。在用戶編輯項後對它們執行驗證時,您也許須要向用戶顯示要更改
的特定項。能夠調用 EnsureVisible 方法來確保特定項位於控件的可視區域中。
若是 LabelEdit 屬性設置爲 true,則能夠執行以下的相似任務:經過爲 BeforeLabelEdit
和 AfterLabelEdit 事件建立事件處理程序,在文本更改先後對所編輯的文本進行驗證。要執
行打開文件或顯示對話框來編輯 ListView 中顯示的項這樣的任務,能夠爲 ItemActivate 事
件建立事件處理程序。若是容許在用戶單擊列標頭時對 ListView 中的項進行排序,則能夠
爲 ColumnClick 事件建立事件處理程序以執行排序操做。當 CheckBoxes 屬性設置爲 true
時,您能夠經過處理 ItemCheck 事件來肯定項的選中狀態什麼時候發生更改。
還可使用 BackgroundImage 屬性設置 ListView 的背景圖像。爲了正確顯示 ListView
控件的背景圖像,您的應用程序必須對其 Main 方法應用 STAThreadAttribute。此外,若是
帶有背景圖像的 ListView 控件寄宿在 Internet Explorer 中,請在應用程序的清單文件中將
comctl32.dll 6.0 版指定爲依賴程序集,確保背景圖像可以正確顯示。
Windows XP 和 Windows Server 2003 提供了三種功能,以便在您的應用程序調用
Application.EnableVisualStyles 方法時加強 ListView 控件:平鋪視圖、分組和插入標記。
平鋪視圖經過在大圖標旁邊顯示項及子項的文本,同時兼顧了圖像和文字信息。經過將
View 屬性設置爲 View.Tile 可啓用此行爲。
分組功能容許您以可視化形式將項分組到相關類別之中。若要啓用此功能,可以使用C#從入門到精通
26
Groups 屬性將 ListViewGroup 對象添加到 ListView 控件。若要臨時禁用此功能,請將
ShowGroups 屬性設置爲 false。
插入標記功能經過指示放置位置,爲利用拖放操做調整項的位置提供了視覺反饋信息。
使用經過 InsertionMark 屬性檢索到的 ListViewInsertionMark 對象顯示插入標記。
這些功能僅能在 Windows XP 和 Windows Server 2003 下使用。對於較早期的平臺,與
這些功能相關的代碼不會產生任何做用,平鋪視圖將顯示爲大圖標視圖,而插入標記和組則
不會顯示。在某些狀況下,您可能須要編寫代碼來肯定是否可以使用這些功能,並在它們不
可用的狀況下提供相應的替代功能。提供這些功能的庫與提供操做系統主題功能的庫爲同一
個庫。若要檢查此庫的可用性,請調用 FeatureSupport.IsPresent(Object) 方法重載並傳入
OSFeature.Themes 值。
下表顯示 ListView 的某些成員以及它們可用於的視圖。
ListView 成員 視圖
Alignment 屬性 SmallIcon 或 LargeIcon
AutoArrange 屬性 SmallIcon 或 LargeIcon
AutoResizeColumn 方法 Details
Columns 屬性 Details 或 Tile
DrawSubItem 事件 Details
FindItemWithText 方法 Details、List 或 Tile
FindNearestItem 方法 SmallIcon 或 LargeIcon
GetItemAt 方法 Details 或 Tile
Groups 屬性 除 List 以外的全部視圖
HeaderStyle 屬性 Details
InsertionMark 屬性 LargeIcon、SmallIcon 或 Tile
NumericUpDown 控件
顯示用戶可用向上和向下按鈕滾動的數字列表。
表示顯示數值的 Windows 數字顯示框(也稱做 up-down 控件)。
命名空間:System.Windows.Forms C#控件查詢手冊 王牌2
程序集:System.Windows.Forms(在 system.windows.forms.dll 中)
語法
[ComVisibleAttribute(true)]
[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)]
public class NumericUpDown : UpDownBase, ISupportInitialize
備註
一個包含單個數值的 NumericUpDown 控件,經過單擊該控件的向上或向下按鈕可以使該
數值遞增或遞減。若是未將 ReadOnly 屬性設置爲 true,則用戶也可輸入一個值。
可經過設置 DecimalPlaces、Hexadecimal 或 ThousandsSeparator 屬性來設置數字的顯示
格式。若要在控件中顯示十六進制值,請將 Hexadecimal 屬性設置爲 true。若要在適當的時
候顯示十進制數的千分隔符,請將 ThousandsSeparator 屬性設置爲 true。若要指定小數點後
顯示的位數,請將 DecimalPlaces 屬性設置爲要顯示的小數位數。
若要指定控件容許值的範圍,請設置 Minimum 和 Maximum 屬性。設置 Increment 值,
以指定在用戶單擊向上或向下箭頭按鈕時將向 Value 屬性遞增或從其遞減的值。您能夠經過
設置 Accelerations 屬性,提升用戶連續按向上或向下箭頭時該控件在數字間移動的速度。
當調用 UpButton 或 DownButton 方法時,不管是用代碼仍是經過單擊向上或向下箭頭
鍵,都會對新值進行驗證,並且會以適當的格式用新值對控件進行更新。具體而言,若是
UserEdit 屬性設置爲 true,則在驗證或更新該值以前,將調用 ParseEditText 方法。而後,
驗證該值是否在 Minimum 和 Maximum 兩個值之間,並調用 UpdateEditText 方法。
TreeView 控件
顯示一個節點對象的分層集合,這些節點對象由帶有可選複選框或圖標的文本組成。
顯示標記項的分層集合,每一個標記項用一個 TreeNode 來表示。
命名空間:System.Windows.Forms
程序集:System.Windows.Forms(在 system.windows.forms.dll 中)
語法
[ComVisibleAttribute(true)]
[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)]
public class TreeView : Control
備註
Nodes 集合包含分配給 TreeView 控件的全部 TreeNode 對象。此集合中的樹節點稱做根樹
節點。隨後添加到根樹節點上的任何樹節點稱做子節點。因爲每一個 TreeNode 均可以包含其
27 C#從入門到精通
28
他 TreeNode 對象的集合,您可能會在循環訪問集合時以爲很難肯定本身在樹結構中的位
置。您可使用 PathSeparator 字符串值來分析 TreeNode.FullPath 字符串,以肯定 TreeNode
標籤的起始和終止位置。
能夠在樹節點旁顯示圖像,方法是將一個 ImageList 分配給 ImageList 屬性,而後經過
引用 Image 在 ImageList 中的索引值來分配該 Image。使用下面的屬性分配圖像:
將 ImageIndex 屬性設置爲當樹節點未選定時所顯示的 Image 的索引值。
將 SelectedImageIndex 屬性設置爲當樹節點被選定時要顯示的 Image 的索引值。
ImageIndex 和 SelectedImageIndex 屬性值所引用的圖像是全部分配給 Nodes 集合的
樹節點顯示的默認圖像。每一個樹節點均可以經過設置 TreeNode.ImageIndex 和
TreeNode.SelectedImageIndex 屬性來取代默認的圖像。
樹節點能夠展開,以顯示下一級子樹節點。用戶能夠在 TreeNode 旁顯示加號 (+) 按鈕
時經過單擊加號 (+) 按鈕來展開 TreeNode,或者能夠經過調用 TreeNode.Expand 方法來展
開 TreeNode。若要展開 Nodes 集合中的全部子樹節點級別,請調用 ExpandAll 方法。若要
摺疊子 TreeNode 級別,能夠調用 TreeNode.Collapse 方法,也能夠在 TreeNode 旁顯示減
號 (-) 按鈕時按減號 (-) 按鈕。還能夠經過調用 TreeNode.Toggle 方法在展開和摺疊狀態之
間切換。
樹節點能夠選擇性地顯示覆選框。若要顯示覆選框,請將 TreeView 的 CheckBoxes 屬
性設置爲 true。對於處於選中狀態的樹節點,Checked 屬性設置爲 true。
經過設置 TreeView 控件的一些顯示和樣式屬性,能夠更改此控件的外觀。若是將
ShowPlusMinus 設置爲 true,則會分別在每一個可展開或摺疊的 TreeNode 旁顯示加號或減號
按鈕。若是將 ShowRootLines 屬性設置爲 true,TreeView 則會顯示聯接全部根樹節點之間
的連線。經過將 ShowLines 屬性設置爲 true,能夠顯示子樹節點與其根節點之間的連線。
若是將 HotTracking 屬性設置爲 true,那麼當鼠標指針移過樹節點標籤時,樹節點標籤的外
觀將發生變化。若是啓用熱跟蹤,樹節點標籤將具備超連接的外觀。也能夠徹底自定義
TreeView 控件的外觀。若要執行此操做,請將 DrawMode 屬性設置爲
TreeViewDrawMode.Normal 之外的值並處理 DrawNode 事件。C#控件查詢手冊 王牌2
圖形顯示控件
PictureBox 控件
在一個框架中顯示圖形文件(如位圖和圖標)。
表示用於顯示圖像的 Windows 圖片框控件。
命名空間:System.Windows.Forms
程序集:System.Windows.Forms(在 system.windows.forms.dll 中)
語法
[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)]
[ComVisibleAttribute(true)]
public class PictureBox : Control, ISupportInitialize
備註
一般使用 PictureBox 來顯示位圖、元文件、圖標、JPEG、GIF 或 PNG 文件中的圖形。
在設計時或運行時將 Image 屬性設置爲要顯示的 Image 。也能夠經過設置
ImageLocation 屬性指定圖像,而後使用 Load 方法同步加載圖像或使用 LoadAsync 方法異
步加載圖像。SizeMode 屬性(設置爲 PictureBoxSizeMode 枚舉中的值)控制圖像在顯示區
域中的剪裁和定位。能夠在運行時使用 ClientSize 屬性來更改顯示區域的大小。
默認狀況下,PictureBox 控件在顯示時沒有任何邊框。即便圖片框不包含任何圖像,仍
可使用 BorderStyle 屬性提供一個標準或三維的邊框,以便使圖片框與窗體的其他部分區
分。PictureBox 不是可選擇的控件,這意味着該控件不能接收輸入焦點。
29 C#從入門到精通
圖形存儲控件
ImageList 控件
充當圖像儲存庫。ImageList 控件和及其包含的圖像能夠在不一樣的應用程序中重用。
提供管理 Image 對象集合的方法。沒法繼承此類。
命名空間:System.Windows.Forms
程序集:System.Windows.Forms(在 system.windows.forms.dll 中)
語法
public sealed class ImageList : Component
備註
ImageList 一般由其餘控件使用,如 ListView、TreeView 或 ToolBar。能夠將位圖、圖
標添加到 ImageList 中,且其餘控件可以在須要時使用這些圖像。
ImageList 使用句柄管理圖像列表。直到在圖像列表上執行某些操做(包括獲取 Count、
獲取 Handle 和調用 Draw)時才建立 Handle。
30 C#控件查詢手冊 王牌2
值的設置控件
CheckBox 控件
顯示一個複選框和一個文本標籤。一般用來設置選項。
表示 Windows CheckBox。
命名空間:System.Windows.Forms
程序集:System.Windows.Forms(在 system.windows.forms.dll 中)
語法
[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)]
[ComVisibleAttribute(true)]
public class CheckBox : ButtonBase
備註
使用 CheckBox 可爲用戶提供一項選擇,如「真/假」或「是/否」。該 CheckBox 控件能夠
顯示一個圖像或文本,或二者都顯示。
CheckBox 和 RadioButton 控件擁有一個類似的功能:容許用戶從選項列表中進行選擇。
CheckBox 控件容許用戶選擇一組選項。與之相反,RadioButton 控件容許用戶從互相排斥的
選項中進行選擇。
Appearance 屬性肯定 CheckBox 顯示爲常見的 CheckBox 仍是顯示爲按鈕。
ThreeState 屬性肯定該控件是支持兩種狀態仍是三種狀態。使用 Checked 屬性能夠獲取或
設置具備兩種狀態的 CheckBox 控件的值,而使用 CheckState 屬性能夠獲取或設置具備三
種狀態的 CheckBox 控件的值。
FlatStyle 屬性肯定控件的樣式和外觀。若是 FlatStyle 屬性設置爲 FlatStyle.System,則控件
的外觀由用戶的操做系統肯定。
下面描述一種不肯定狀態:有一個用於肯定 RichTextBox 中選定的文本是否爲粗體的
CheckBox。選擇文本時,您能夠單擊 CheckBox 以將選定文本變成粗體。一樣,選擇一些文
本時,CheckBox 將顯示選定的文本是否爲粗體。若是選定的文本包含粗體和常規文本,則
CheckBox 將處於不肯定狀態。
CheckedListBox 控件
顯示一個可滾動的項列表,每項旁邊都有一個複選框。
31 C#從入門到精通
RadioButton 控件
顯示一個可打開或關閉的按鈕。
當與其餘 RadioButton 控件成對出現時,使用戶可以從一組選項中選擇一個選項。
命名空間:System.Windows.Forms
程序集:System.Windows.Forms(在 system.windows.forms.dll 中)
語法
[ComVisibleAttribute(true)]
[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)]
public class RadioButton : ButtonBase
備註
RadioButton 控件能夠顯示文本、Image 或同時顯示二者。
當用戶選擇一個組內的一個選項按鈕(也稱做單選按鈕)時,其餘選項按鈕自動清除。
給定容器(如 Form)中的全部 RadioButton 控件構成一個組。若要在一個窗體上建立多個
組,請將每一個組放在它本身的容器(例如 GroupBox 或 Panel 控件)中。
RadioButton 和 CheckBox 控件的功能類似:它們提供用戶能夠選擇或清除的選項。不
同之處在於,能夠同時選定多個 CheckBox 控件,而選項按鈕倒是互相排斥的。
使用 Checked 屬性能夠獲取或設置 RadioButton 的狀態。經過設置 Appearance 屬性,
能夠將選項按鈕的外觀顯示爲切換式按鈕或標準選項按鈕。
TrackBar 控件
容許用戶經過沿標尺移動「滾動塊」來設置標尺上的值。
表示一個標準的 Windows 跟蹤條。
命名空間:System.Windows.Forms
程序集:System.Windows.Forms(在 system.windows.forms.dll 中)
語法
[ComVisibleAttribute(true)]
[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)]
public class TrackBar : Control, ISupportInitialize
備註
TrackBar 是相似於 ScrollBar 控件的可滾動控件。能夠經過如下方式配置跟蹤條的
Value 屬性值滾動的範圍:經過設置 Minimum 屬性指定該範圍的下限,設置 Maximum 屬
32 C#控件查詢手冊 王牌2
性指定該範圍的上限。
LargeChange 屬性定義在滾動框的任一側單擊鼠標時對 Value 屬性進行增減的量。跟蹤條
能夠水平顯示或垂直顯示。
可使用此控件輸入經過 Value 屬性獲取的數值型數據。能夠在一個控件中顯示此數值
型數據,或者在代碼中使用此數據。
33 C#從入門到精通
34
數據的設置控件
DateTimePicker 控件
顯示一個圖形日曆以容許用戶選擇日期或時間。
表示一個 Windows 控件,該控件用來讓用戶選擇日期和時間並以指定的格式顯示此日
期和時間。
命名空間:System.Windows.Forms
程序集:System.Windows.Forms(在 system.windows.forms.dll 中)
語法
[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)]
[ComVisibleAttribute(true)]
public class DateTimePicker : Control
備註
DateTimePicker 控件用來讓用戶選擇日期和時間,並以指定的格式顯示此日期和時間。
經過設置 MinDate 和 MaxDate 屬性,能夠限制可選擇的日期和時間。
經過設置 CalendarForeColor 、 CalendarFont 、 CalendarTitleBackColor 、
CalendarTitleForeColor、CalendarTrailingForeColor 和 CalendarMonthBackground 屬性,能夠
更改控件日曆部分的外觀。
Format 屬性設置控件的 DateTimePickerFormat 。默認日期 Format 爲
DateTimePickerFormat.Long。若是 Format 屬性設置爲 DateTimePickerFormat.Custom,能夠
經過設置 CustomFormat 屬性並生成自定義格式字符串來建立本身的格式化樣式。自定義格
式字符串能夠是自定義字段字符和其餘字符的組合。例如,經過將 CustomFormat 屬性設置
爲「MMMM dd, yyyy - dddd」,能夠將日期顯示爲「June 01, 2001 - Friday」。有關更多信息,請
參見日期與時間格式字符串。
若要使用數值調節鈕控件(也稱爲 up-down 控件)調整日期/時間值,請將 ShowUpDown
屬性設置爲 true。日曆控件被選定後將不下拉。能夠經過分別選擇各元素並使用向上和向下
按鈕更改值來調整日期和時間。
若是須要自定義日期格式設置(例如,選擇限制爲只使用一個日期),您能夠考慮使用
DateTimePicker 控件,而不是 MonthCalendar。使用 DateTimePicker 可限制對日期/時間值
進行大量數據驗證的須要。C#控件查詢手冊 王牌2
MonthCalendar 控件
顯示一個圖形日曆以容許用戶選擇日期範圍。
表示一個 Windows 控件,該控件使用戶可以使用可視月曆顯示來選擇日期。
命名空間:System.Windows.Forms
程序集:System.Windows.Forms(在 system.windows.forms.dll 中)
語法
[ComVisibleAttribute(true)]
[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)]
public class MonthCalendar : Control
備註
MonthCalendar 控件容許用戶使用可視顯示來選擇日期。經過設置 MinDate 和
MaxDate 屬性,能夠限制可選擇的日期和時間。
經過設置 ForeColor 、 Font 、 TitleBackColor 、 TitleForeColor 、 TrailingForeColor 和
BackColor 屬性,能夠更改控件日曆部分的外觀。
MonthCalendar 控件由操做系統繪製,所以決不會引起 Paint 事件。若是須要爲
MonthCalendar 控件提供自定義的外觀,則應重寫 OnPrint 方法,調用 OnPrint 的基實現,
而後再執行自定義繪圖。
若是須要將自定義日期格式和選擇限制爲只用於一個日期,您能夠考慮使用
DateTimePicker 控件,而不是 MonthCalendar。使用 DateTimePicker 可避免許多須要驗證日
期/時間值的狀況。
35 C#從入門到精通
對話框控件
ColorDialog 控件
顯示容許用戶設置界面元素的顏色的顏色選擇器對話框。
表示一個通用對話框,該對話框顯示可用的顏色以及容許用戶定義自定義顏色的控件。
命名空間:System.Windows.Forms
程序集:System.Windows.Forms(在 system.windows.forms.dll 中)
語法
public class ColorDialog : CommonDialog
備註
必須調用繼承的成員 ShowDialog 才能建立此特定的通用對話框。可重寫 HookProc 以
實現特定的對話框掛鉤功能。使用 Color 可檢索用戶選定的顏色。
在建立 ColorDialog 的實例時,一些讀/寫屬性被設置爲初始值。有關這些值的列表,請
參見 ColorDialog 構造函數。
FontDialog 控件
顯示容許用戶設置字體及其屬性的對話框。
提示用戶從本地計算機上安裝的字體中選擇一種字體。
命名空間:System.Windows.Forms
程序集:System.Windows.Forms(在 system.windows.forms.dll 中)
語法
public class FontDialog : CommonDialog
備註
必須調用繼承的成員 ShowDialog 才能建立此特定的通用對話框。可重寫 HookProc 以
實現特定的對話框掛鉤功能。
在建立 FontDialog 的實例時,一些讀/寫屬性被設置爲初始值。
36 C#控件查詢手冊 王牌2
OpenFileDialog 控件
顯示容許用戶定位文件和選擇文件的對話框。提示用戶打開文件。沒法繼承此類。
命名空間:System.Windows.Forms
程序集:System.Windows.Forms(在 system.windows.forms.dll 中)
語法
public sealed class OpenFileDialog : FileDialog
備註
使用此類可檢查某個文件是否存在並打開該文件。ShowReadOnly 屬性肯定是否在對話
框中顯示只讀複選框。ReadOnlyChecked 屬性指示是否選中只讀複選框。
此類的大多數功能均可以在 FileDialog 類中找到。
若是要使用戶可以選擇文件夾而不是文件,請改用 FolderBrowserDialog。
PrintDialog 控件
顯示容許用戶選擇打印機並設置其屬性的對話框。容許用戶選擇一臺打印機並選擇文檔
中要打印的部分。
命名空間:System.Windows.Forms
程序集:System.Windows.Forms(在 system.windows.forms.dll 中)
語法
public sealed class PrintDialog : CommonDialog
備註
建立 PrintDialog 的實例時,讀/寫屬性將被設置爲初始值。有關這些值的列表,請參見
PrintDialog 構造函數。
PrintPreviewDialog 控件
顯示一個對話框,該對話框顯示 PrintDocument 組件在打印出來後的外觀。
表示包含 PrintPreviewControl 的對話框窗體。
命名空間:System.Windows.Forms
程序集:System.Windows.Forms(在 system.windows.forms.dll 中)
語法
37 C#從入門到精通
[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)]
[ComVisibleAttribute(true)]
public class PrintPreviewDialog : Form
備註
在建立 PrintPreviewDialog 類的實例時,一些讀/寫屬性被設置爲初始值。有關這些值
的列表,請參見 PrintPreviewDialog 構造函數。
FolderBrowserDialog 控件
顯示用來瀏覽、建立以及最終選擇文件夾的對話框,提示用戶選擇文件夾。沒法繼承此
類。
命名空間:System.Windows.Forms
程序集:System.Windows.Forms(在 system.windows.forms.dll 中)
語法
public sealed class FolderBrowserDialog : CommonDialog
備註
此類提供一種方法,它提示用戶瀏覽、建立並最終選擇一個文件夾。若是隻容許用戶選
擇文件夾而非文件,則可以使用此類。文件夾的瀏覽經過樹控件完成。只能選擇文件系統中的
文件夾;不能選擇虛擬文件夾。
一般在建立新 FolderBrowserDialog 後,將 RootFolder 設置爲開始瀏覽的位置。或者,
可將 SelectedPath 設置爲最初選定的 RootFolder 子文件夾的絕對路徑。也能夠選擇設置
Description 屬性爲用戶提供附加說明。最後,調用 ShowDialog 方法將對話框顯示給用戶。
若是該對話框關閉而且 ShowDialog 顯示的對話框爲 DialogResult.OK,SelectedPath 則是一
個包含選定文件夾路徑的字符串。
若是用戶可經過 「 新建文件夾 」 按鈕建立新文件夾,則可對控件使用
ShowNewFolderButton 屬性。
FolderBrowserDialog 是有模式對話框,所以,在顯示時,它會阻止應用程序剩餘部分的
運行,直到用戶選定了文件夾。當對話框有模式顯示時,不能進行任何輸入(經過鍵盤或鼠
標單擊),對對話框上的對象的輸入除外。在對調用程序進行輸入以前,程序必須隱藏或關
閉對話框(一般是響應某一用戶操做)。
SaveFileDialog 控件
顯示容許用戶保存文件的對話框。
38 C#控件查詢手冊 王牌2
提示用戶選擇文件的保存位置。沒法繼承此類。
命名空間:System.Windows.Forms
程序集:System.Windows.Forms(在 system.windows.forms.dll 中)
語法
public sealed class SaveFileDialog : FileDialog
備註
此類能夠打開和改寫現有文件,也能夠建立新文件。
此類的大多數功能均可以在 FileDialog 類中找到。
Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows CE 平臺說明:
在 Pocket PC 上,若是不指定文件的擴展名,控件會附加對話框中選定類型的擴展名。在
Windows CE 上,控件不附加擴展名。全部平臺都支持 FilterIndex 屬性,該屬性返回選定擴
展名篩選器的索引。
39 C#從入門到精通
菜單控件
MenuStrip 控件
建立自定義菜單
提供窗體的菜單系統。
命名空間:System.Windows.Forms
程序集:System.Windows.Forms(在 system.windows.forms.dll 中)
語法
[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)]
[ComVisibleAttribute(true)]
public class MenuStrip : ToolStrip
備註
MenuStrip 控件表示窗體菜單結構的容器。您能夠將 ToolStripMenuItem 對象添加到表
示菜單結構中各菜單命令的 MenuStrip 中。每一個 ToolStripMenuItem 能夠成爲應用程序的命
令或其餘子菜單項的父菜單。
MenuStrip 是 ToolStripMenuItem 、 ToolStripComboBox 、 ToolStripSeparator 和
ToolStripTextBox 對象的容器。
雖然 MenuStrip 對之前版本的 MainMenu 控件的功能進行了替換和添加,可是考慮到
向後兼容性和未來的使用(若是您選擇),仍然保留了 MainMenu。
ContextMenuStrip 控件
建立自定義上下文菜單。
表示快捷菜單。
命名空間:System.Windows.Forms
程序集:System.Windows.Forms(在 system.windows.forms.dll 中)
語法
[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)]
[ComVisibleAttribute(true)]
public class ContextMenuStrip : ToolStripDropDownMenu
40 C#控件查詢手冊 王牌2
41
備註
ContextMenuStrip 類表示快捷菜單,這些快捷菜單在用戶在窗體中的控件或特定區域上
單擊鼠標右鍵時顯示。快捷菜單一般用於組合來自窗體的一個 MenuStrip 的不一樣菜單項,便
於用戶在給定應用程序上下文中使用。例如,可使用分配給 TextBox 控件的快捷菜單提
供菜單項,以便更改文本字體,在控件中查找文本或實現複製和粘貼文本的剪貼版功能。還
能夠在快捷菜單中顯示不位於 MenuStrip 中的新的 ToolStripMenuItem 對象,從而提供與特
定狀況有關且不適合在 MenuStrip 中顯示的命令。
當用戶在控件或窗體自己上單擊鼠標右鍵時,一般會顯示快捷菜單。許多可視控件(以
及 Form 自己)都有一個 Control.ContextMenuStrip 屬性,該屬性將 ContextMenuStrip 類綁
定到顯示快捷菜單的控件。多個控件可以使用一個 ContextMenuStrip。
將 ToolStripDropDownMenu.ShowCheckMargin 屬性設置爲 true 可 向
ToolStripMenuItem 的左側添加用以容納選中標記的空間,選中標記顯示是否啓用或選擇了
該菜單項。ToolStripDropDownMenu.ShowImageMargin 屬性默認被設置爲 true。使用
ToolStripMenuItem 左側的此空間能夠爲菜單項顯示一個圖像。
ContextMenuStrip 是 ToolStripMenuItem、ToolStripComboBox、ToolStripSeparator 和
ToolStripTextBox 對象的容器。
雖然 ContextMenuStrip 對之前版本的 ContextMenu 控件的功能進行了替換和添加,但
是考慮到向後兼容性和未來的使用(若是的確須要),仍然保留了 ContextMenu。C#從入門到精通
命令控件
Button 控件
啓動、中止或中斷進程。
表示 Windows 按鈕控件。
命名空間:System.Windows.Forms
程序集:System.Windows.Forms(在 system.windows.forms.dll 中)
語法
[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)]
[ComVisibleAttribute(true)]
public class Button : ButtonBase, IButtonControl
備註
若是某個 Button 具備焦點,則可使用鼠標、Enter 鍵或空格鍵單擊該按鈕。
設置 Form 的 AcceptButton 或 CancelButton 屬性,使用戶可以經過按 Enter 或 Esc
鍵來單擊按鈕(即便該按鈕沒有焦點)。這使該窗體具備對話框的行爲。
當使用 ShowDialog 方法顯示一個窗體時,可使用按鈕的 DialogResult 屬性指定
ShowDialog 的返回值。
能夠更改按鈕的外觀。例如,要使它顯示爲 Web 風格的平面外觀,請將 FlatStyle 屬
性設置爲 FlatStyle.Flat。FlatStyle 屬性還可設置爲 FlatStyle.Popup;當鼠標指針通過該按鈕
時,它再也不是平面外觀,而是將呈現標準的 Windows 按鈕外觀。
LinkLabel 控件
將文本顯示爲 Web 樣式的連接,並在用戶單擊該特殊文本時觸發事件。該文本一般是
到另外一個窗口或網站的連接。
NotifyIcon 控件
在表示正在後臺運行的應用程序的任務欄的狀態通知區域中顯示一個圖標。
指定在通知區域中建立圖標的組件。沒法繼承此類。
42 C#控件查詢手冊 王牌2
命名空間:System.Windows.Forms
程序集:System.Windows.Forms(在 system.windows.forms.dll 中)
語法
public sealed class NotifyIcon : Component
備註
通知區域中的圖標是一些進程的快捷方式,這些進程在計算機後臺運行,如防病毒程序
或音量控制。這些進程不會具備本身的用戶界面。NotifyIcon 類提供了編寫此功能的方法。
Icon 屬性定義顯示在通知區域中的圖標。圖標的彈出菜單由 ContextMenu 屬性肯定。Text
屬性分配工具提示文本。要在通知區域中顯示圖標,必須將 Visible 屬性設置爲 true。
ToolStrip 控件
建立工具欄,這些工具欄能夠具備與 Microsoft Windows XP、Microsoft Office 或
Microsoft Internet Explorer 相似的外觀,也能夠具備自定義外觀,能夠有主題,也能夠沒有
主題,並支持溢出和運行時項從新排序。
爲 Windows 工具欄對象提供容器。
命名空間:System.Windows.Forms
程序集:System.Windows.Forms(在 system.windows.forms.dll 中)
語法
[ComVisibleAttribute(true)]
[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)]
public class ToolStrip : ScrollableControl, IComponent, IDisposable
備註
在新的 Windows 窗體應用程序中可以使用 ToolStrip 及其相關的類來建立工具欄,這些
工具欄具備 Windows XP、Office、Internet Explorer 或自定義的外觀和行爲(它們均既能夠
使用主題又能夠不使用主題,均支持溢出和在運行時對項從新排序)。ToolStrip 控件也提供
豐富的設計時體驗,包括就地激活和編輯、自定義佈局以及共享指定的 ToolStripContainer 內
的水平空間或垂直空間。
ToolStrip 是 ToolStripButton、ToolStripComboBox、ToolStripSplitButton、ToolStripLabel、
ToolStripSeparator、ToolStripDropDownButton、ToolStripProgressBar 和 ToolStripTextBox 對
象的容器。
儘管 ToolStrip 類提供了許多可管理繪製、鼠標和鍵盤輸入以及拖放功能的成員,可是
您可使用 ToolStripManager 類在指定的 ToolStripContainer 內聯接 ToolStrip 控件,以及
將 ToolStrip 控件相互合併。經過將 ToolStripRenderer 類和 ToolStripManager 類結合使用,
能夠得到對繪製樣式和佈局樣式的更好控制和更多的自定義功能。
43 C#從入門到精通
使用 ToolStripControlHost 類能夠在 ToolStrip 中承載任何其餘 Windows 窗體控件。
雖然 ToolStrip 對之前版本的 ToolBar 控件的功能進行了替換和增補,可是考慮到向後
兼容性和未來的使用(若是您選擇),仍然保留了 ToolBar。
44 C#控件查詢手冊 王牌2
用戶幫助控件
HelpProvider 組件
爲控件提供彈出式幫助或聯機幫助。
提供控件的彈出或聯機幫助。
命名空間:System.Windows.Forms
程序集:System.Windows.Forms(在 system.windows.forms.dll 中)
語法
ublic class HelpProvider : Component, IExtenderProvider
備註
每一個 HelpProvider 實例均維護一個對關聯控件的引用的集合。若要使幫助文件與
HelpProvider 關聯,請設置 HelpNamespace 屬性。經過調用 SetHelpNavigator 方法並提供
指定控件的 HelpNavigator 值來指定提供的幫助類型。經過調用 SetHelpKeyword 方法爲幫
助提供關鍵字或主題。若要打開特定主題的幫助,則應以 topicName.htm 的形式傳入關鍵字。
若要使特定的幫助字符串與控件關聯,請使用 SetHelpString 方法。若是用戶在控件包
含焦點時按下 F1 鍵,使用此方法與控件關聯的字符串將顯示在彈出窗口中。
若是還沒有設置 HelpNamespace 屬性,則必須使用 SetHelpString 方法提供幫助文本。如
果同時設置了 HelpNamespace 和幫助字符串,則基於 HelpNamespace 的幫助信息優先。
HelpProvider 在 Help 類上調用方法來提供幫助功能。
ToolTip 組件
當用戶將指針停留在控件上時,提供一個彈出式窗口來顯示該控件的用途的簡短說明。
表示一個長方形的小彈出窗口,該窗口在用戶將指針懸停在一個控件上時顯示有關該控
件用途的簡短說明。
命名空間:System.Windows.Forms
程序集:System.Windows.Forms(在 system.windows.forms.dll 中)
語法
public class ToolTip : Component, IExtenderProvider
45 C#從入門到精通
46
備註
使用 ToolTip 類,您可在用戶將指針放置在控件上時爲用戶顯示提示信息。ToolTip 類
一般用來向用戶提示控件的預期用途。例如,能夠爲接受名稱的 TextBox 控件指定工具提
示文本,同時指定要鍵入到控件中的名稱的格式。除了提供提示外,還可以使用 ToolTip 類提
供運行時狀態信息。例如,當用戶將指針移動到顯示 Internet 鏈接狀態的 PictureBox 控件
上時,可使用 ToolTip 類顯示鏈接速度和線路質量數據。
ToolTip 類可在任何容器內使用。若要顯式指定容器,請使用 ToolTip(IContainer) 構造
函數。單個 ToolTip 組件一般用於爲單個窗體上的多個控件建立工具提示。在建立 ToolTip
以後,使用不一樣的 SetToolTip 方法調用可將工具提示顯示文本與每一個控件關聯。而後,當
用戶將指針移到控件上時,即會顯示工具提示及其文本。對於同一個控件可屢次調用
SetToolTip 以更改與控件關聯的文本。若要獲取與控件關聯的文本,請使用 GetToolTip 方
法。若要移除 ToolTip 類的某個實例的全部工具提示文本關聯,請使用 RemoveAll 方法。
ToolTip 類提供瞭如下屬性和方法以修改工具提示的默認行爲和外觀。
類別 關聯成員
手動顯示 Active, Show, Hide, ShowAlways, Popup, StopTimer
工具提示計
AutoPopDelay, InitialDelay, ReshowDelay, AutomaticDelay, StopTimer
內容 SetToolTip, GetToolTip, StripAmpersands, ToolTipIcon, ToolTipTitle,
RemoveAll
外觀 BackColor, ForeColor, IsBalloon, OwnerDraw, UseAnimation, UseFading
若是要禁用全部工具提示文本以便不在應用程序中顯示它,可使用 Active 屬性。工
具提示一般由操做系統繪製,但若要自定義 ToolTip 的外觀,可將 OwnerDraw 屬性設置爲
true 並處理 Draw 事件。
ToolTipTitle 類實現 System.ComponentModel.IExtenderProvider 接口,該接口只有一個
CanExtend 方法。工具提示在設計時擴展同一窗體上的控件,添加一個 ToolTip 屬性。有關
擴展程序提供程序的更多信息,請參見擴展程序提供程序。C#控件查詢手冊 王牌2
分組控件
Panel 控件
將一組控件分組到未標記、可滾動的框架中。
用於對控件集合進行分組。
命名空間:System.Windows.Forms
程序集:System.Windows.Forms(在 system.windows.forms.dll 中)
語法
[ComVisibleAttribute(true)]
[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)]
public class Panel : ScrollableControl
備註
Panel 是一個包含其餘控件的控件。可使用 Panel 來組合控件的集合,例如一組
RadioButton 控件。與其餘容器控件(如 GroupBox 控件)同樣,若是 Panel 控件的 Enabled
屬性設置爲 false,則也會禁用包含在 Panel 中的控件。
默認狀況下,Panel 控件在顯示時沒有任何邊框。能夠用 BorderStyle 屬性提供標準或
三維的邊框,將窗面板區與窗體上的其餘區域區分開。由於 Panel 控件派生於
ScrollableControl 類,因此能夠用 AutoScroll 屬性來啓用 Panel 控件中的滾動條。當
AutoScroll 屬性設置爲 true 時,使用所提供的滾動條能夠滾動顯示 Panel 中(但不在其可
視區域內)的全部控件。
Panel 控件不顯示標題。若是須要與 Panel 相似可顯示標題的控件,請參見 GroupBox
控件。
GroupBox 控件
將一組控件(如單選按鈕 (RadioButton))分組到帶標記、不可滾動的框架中。
表示一個 Windows 控件,該控件顯示圍繞一組具備可選標題的控件的框架。
命名空間:System.Windows.Forms
程序集:System.Windows.Forms(在 system.windows.forms.dll 中)
語法
47 C#從入門到精通
[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)]
[ComVisibleAttribute(true)]
public class GroupBox : Control
備註
GroupBox 顯示圍繞一組控件的框架(帶或不帶標題)。使用 GroupBox 對窗體上的控
件集合進行邏輯分組。組框是可用於定義控件組的容器控件。
組框的典型用途是包含 RadioButton 控件的邏輯組。若是有兩個分組框,每一個分組框都
包含多個選項按鈕(也稱爲單選按鈕),每組按鈕都互相排斥,則每組設置一個選項值。
經過使用 Controls 屬性的 Add 方法,可將控件添加到 GroupBox。
GroupBox 不能顯示滾動條。若是須要可包含滾動條的相似於 GroupBox 的控件,請參
見 Panel 控件。
TabControl 控件
提供一個選項卡式頁面以有效地組織和訪問已分組對象。
管理相關的選項卡頁集。
命名空間:System.Windows.Forms
程序集:System.Windows.Forms(在 system.windows.forms.dll 中)
語法
[ComVisibleAttribute(true)]
[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)]
public class TabControl : Control
備註
TabControl 包含選項卡頁,這些選項卡頁由經過 TabPages 屬性添加的 TabPage 對象
表示。此集合中的選項卡頁的順序反映了選項卡在控件中出現的順序。
用戶能夠經過單擊控件中的某一選項卡來更改當前的 TabPage。您也能夠經過使用下面
的 TabControl 屬性之一,以編程的方式更改當前的 TabPage:
SelectedIndex
SelectedTab
在 Microsoft .NET Framework 2.0 版 中,也可使用下面的方法之一:
SelectTab
DeselectTab
在 .NET Framework 2.0 中,能夠經過處理下面的事件之一,在當前選項卡發生更改時
進行響應:
Deselecting
48 C#控件查詢手冊 王牌2
Deselected
Selecting
Selected
TabControl 中的選項卡是 TabControl 的一部分,但不是各個 TabPage 控件的一部分。
TabPage 類的成員(例如 ForeColor 屬性)隻影響選項卡頁的矩形工做區,而不影響選項卡。
此外,TabPage 的 Hide 方法不會隱藏選項卡。若要隱藏選項卡,必須從 TabControl.TabPages
集合中移除 TabPage 控件。
SplitContainer 控件
提供用可移動拆分條分隔的兩個面板。
表示一個由可移動條組成的控件,該可移動條將容器的顯示區域分紅兩個大小可調的面
板。
命名空間:System.Windows.Forms
程序集:System.Windows.Forms(在 system.windows.forms.dll 中)
語法
[ComVisibleAttribute(true)]
[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)]
public class SplitContainer : ContainerControl
備註
您能夠將控件添加到兩個大小可調的面板中,並將其餘 SplitContainer 控件添加到現有
SplitContainer 面板中,以建立多個大小可調的顯示區域。
使用 SplitContainer 控件可分隔容器(如 Form)的顯示區域,並使用戶能夠調整已添
加到 SplitContainer 面板中的控件的大小。當用戶將鼠標指針移到拆分器上時,光標將發生
變化,以指示能夠調整 SplitContainer 控件內部的控件的大小。
SplitContainer 也使設計時的控件放置更容易。例如,若要建立一個與 Windows 資源管
理器相似的窗口,可將 SplitContainer 控件添加到一個 Form 中,並將其 Dock 屬性設置爲
DockStyle.Fill 。同時,將 TreeView 控件添加到 Form 並將其 Dock 屬性設置爲
DockStyle.Fill。若要完成佈局,則添加一個 ListView 控件並將其 Dock 屬性設置爲
DockStyle.Fill,從而使 ListView 佔據 Form 上的剩餘空間。在運行時,用戶可使用拆分
器調整兩個控件的寬度。使用 FixedPanel 屬性可指定某個控件不該隨 Form 或其餘容器一
起調整大小。
使 用 SplitterDistance 可指定拆分器開始的時候位於窗體上的位置。使用
SplitterIncrement 可指定拆分器一次移動多少像素。SplitterIncrement 的默認值是一個像素。
使用 Panel1MinSize 和 Panel2MinSize 可指定拆分器條可以移到靠近 SplitContainer
面板外邊緣的程度。面板默認的最小大小值爲 25 像素。
49 C#從入門到精通
使用 Orientation 屬性可指定水平方向。SplitContainer 的默認方向爲垂直方向。
使用 BorderStyle 屬性可指定 SplitContainer 的邊框樣式,並使其邊框樣式與添加到
SplitContainer 的控件的邊框樣式協調。
TableLayoutPanel 控件
表示一個面板,它能夠在一個由行和列組成的網格中對其內容進行動態佈局。
表示一個面板,它能夠在一個由行和列組成的網格中對其內容進行動態佈局。
命名空間:System.Windows.Forms
程序集:System.Windows.Forms(在 system.windows.forms.dll 中)
語法
[ComVisibleAttribute(true)]
[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)]
public class TableLayoutPanel : Panel, IExtenderProvider
備註
TableLayoutPanel 控件在網格中排列其內容。由於佈局既能夠在設計時執行,也能夠在
運行時執行,因此它會隨應用程序環境的更改而動態更改。這樣,面板中的控件能夠適當地
調整大小,從而對各類更改作出響應,如父控件的大小調整或者因爲本地化帶來的文本長度
的更改。
任 何 Windows 窗體控件均可以是 TableLayoutPanel 控件的子級,包括
TableLayoutPanel 的其餘實例。這樣,您就能夠構造可以適應運行時的各類更改的複雜佈局。
TableLayoutPanel 控件能夠根據 RowCount、ColumnCount 和 GrowStyle 屬性的值進行
擴展,以容納新添加的控件。將 RowCount 或 ColumnCount 屬性的值設置爲 0,將指定
TableLayoutPanel 在相應方向上取消綁定。
當 TableLayoutPanel 控件充滿子控件之後,您也能夠控制擴展的方向(水平或垂直)。
默認狀況下,TableLayoutPanel 控件經過添加行向下擴展。
若是但願行和列採起與默認行爲不一樣的行爲方式,能夠經過使用 RowStyles 和
ColumnStyles 屬性來控制行和列的屬性。能夠分別設置行或列的屬性。
TableLayoutPanel 控件向其子控件添加如下屬性:Cell、Column、Row、ColumnSpan 和
RowSpan。
能夠經過設置子控件上的 ColumnSpan 或 RowSpan 屬性,來合併 TableLayoutPanel 控
件中的單元格。
子控件的停靠行爲與其餘容器控件相同。
TableLayoutPanel 中子控件的錨定行爲與其餘容器控件的行爲不一樣。若是將子控件的
Anchor 屬性值設置爲 Left 或 Right,則將控件靠單元格左邊框或由邊框放置,距離邊框的
距離是控件的 Margin 屬性和麪板的 Padding 屬性之和。若是同時設置了 Left 和 Right
50 C#控件查詢手冊 王牌2
值,控件將根據單元格的寬度調整大小,同時考慮了 Margin 和 Padding 值。Top 和 Bottom
定錨的行爲與此相似。有關更多信息,請參見如何:在 TableLayoutPanel 控件中錨定和停靠
子控件。
若是須要子控件模仿其餘容器控件的默認定錨行爲,能夠調整 Margin 和 Padding 屬
性,以使控件的邊框與單元格的邊框保持固定的距離。
運行時,將一個子控件的 Column 和 Row 屬性值設置爲 -1,將使該控件移動到
TableLayoutPanel 控件的第一個空單元格中。空單元格將按從左到右、從上到下的搜索順序
選中。此順序依賴於區域性,因此在從右向左 (RTL) 的佈局中它將正確運行。設計時,將
這些屬性設置爲 -1 時,子控件不會移動。
FlowLayoutPanel 控件
表示一個沿水平或垂直方向動態排放其內容的面板。
表示一個沿着水平或垂直方向動態排放其內容的面板。
命名空間:System.Windows.Forms
程序集:System.Windows.Forms(在 system.windows.forms.dll 中)
語法
[ComVisibleAttribute(true)]
[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)]
public class FlowLayoutPanel : Panel, IExtenderProvider
備註
FlowLayoutPanel 控件沿着水平或垂直流向排列其內容。它的內容能夠從一行換到下一
行或從一列換到下一列。或者,還能夠對它的內容進行剪裁,而不是進行換行。
能夠經過設置 FlowDirection 屬性的值來指定流向。在從右向左 (RTL) 的佈局中,
FlowLayoutPanel 控件會相應地反轉其流向。還能夠經過設置 WrapContents 屬性的值來指定
是對 FlowLayoutPanel 控件的內容進行換行仍是剪裁。
任 何 Windows 窗體控件(包括 FlowLayoutPanel 的其餘實例)均可以是
FlowLayoutPanel 控件的子級。使用此功能,能夠構造在運行時可以根據窗體的尺寸進行相
應調整的複雜佈局。*
子控件的停靠和錨定行爲與其餘容器控件的行爲不一樣。停靠和錨定行爲均相對於流向中
的最大控件。有關更多信息,請參見如何:在 FlowLayoutPanel 控件中錨定和停靠子控件。
51 C#從入門到精通
音頻控件
SoundPlayer 控件
播放 .wav 格式的聲音文件。加載聲音和播放聲音能夠異步進行。
控制 .wav 文件中的聲音播放。
命名空間:System.Media
程序集:System(在 system.dll 中)
語法
[SerializableAttribute]
public class SoundPlayer : Component, ISerializable
備註
SoundPlayer 類提供了加載和播放 .wav 文件的簡單界面。SoundPlayer 類支持從文件路
徑、URL、包含 .wav 文件的 Stream 或包含 .wav 文件的嵌入資源中加載 .wav 文件。
要使用 SoundPlayer 類播放聲音,請用 .wav 文件的路徑配置 SoundPlayer 並調用某個
播放方法。可使用某個構造函數或經過設置 SoundLocation 或 Stream 屬性來標識要播放
的 .wav 文件。能夠在播放前使用某個加載方法加載文件,或者將加載推遲到調用某個播放
方法時。被配置爲從 Stream 或 URL 中加載 .wav 文件的 SoundPlayer 必須在播放開始前
將 .wav 文件加載到內存中。
能夠同步或異步地加載或播放 .wav 文件。若是調用同步加載或播放方法,調用線程將
一直等到方法返回,這可能會致使繪製和其餘事件中斷。調用異步加載或播放方法則容許調
用線程繼續執行,而不會中斷。有關異步方法調用的更多信息,請參見如何:在後臺運行操
做。
當 SoundPlayer 加載完 .wav 文件後,它會引起 LoadCompleted 事件。能夠檢查事件
處理程序中的 AsyncCompletedEventArgs,肯定加載是成功仍是失敗。當音頻源設置爲新文
件路徑或 URL 時,引起 SoundLocationChanged 事件。當音頻源設置爲新 Stream 時,引
發 StreamChanged 事件。
52
相關文章
相關標籤/搜索