1. 控件
在使用Windows窗體時(shí),就是在使用System.Windows.Forms命名空間。
.NET中的大多數(shù)控件都派生于System.Windows.Form.Control類。這個(gè)類定義了控件的基本功能。還有一些控件稱為定制或用戶控件,派生于另一個(gè)類System.Windows.Forms.UserControl。這個(gè)類本身派生于Control類,提供了創(chuàng)建控件所需要的功能。另外,用于設(shè)計(jì)Web用戶界面的控件派生于另一個(gè)類System.Web.UI.Control。

1.1 屬性
所有控件都有許多屬性,用于處理控件的操作。
下面是Control類最常見的屬性:
Anchor:指定當(dāng)控件的容器的大小發(fā)生變化時(shí),該控件如何響應(yīng)。
BackColor:背景色
Bottom:指定控件的底部距離窗口的頂部有多遠(yuǎn)。這與指定控件的高度不同
Dock:可以使控件停靠在窗口的邊界上
Enabled:把Enable設(shè)為true通常表示該控件可以接收用戶的輸入。把Enable設(shè)置為false通常表示不能接收用戶的輸入
ForeColor:前景色
Height:控件從底部到頂部的距離(是控件本身的距離)
Left:控件的左邊界到窗口左邊界的距離
Name:控件的名稱,這個(gè)名稱可以在代碼中用于引用該控件
Parent:控件的父控件
Right:控件的右邊界到窗口右邊界的距離
TabIndex:控件在容器中的標(biāo)簽順序號(hào)
TabStop:指定控件是否可以用Tab鍵訪問
Tag:這個(gè)值通常不由控件本身使用,而是在控件中存儲(chǔ)該控件的信息。當(dāng)通過Windows Form設(shè)計(jì)器給這個(gè)屬性賦值時(shí),就只能給它賦一個(gè)字符串值
Top:控件的頂部距離窗口頂部的距離
Visible:指定控件是否在運(yùn)行期間可見
Width:控件的寬度
另外,.NET的所有內(nèi)部控件都使用Text屬性來(lái)設(shè)置顯示的文本。
1.2 控件的定位、停靠和對(duì)齊
在Visual Studio 2005中,窗體設(shè)計(jì)器默認(rèn)改為使用柵格狀的界面,并使用捕捉線來(lái)定位控件,使控件整齊地排列在界面上。
在窗體設(shè)計(jì)中,Anchor和Dock屬性特別有用。
Anchor屬性可以指定如果控件重新設(shè)置了大小,就根據(jù)控件的邊界鎖定它,或者其大小不變,當(dāng)根據(jù)窗口的邊界來(lái)錨定它的位置。
Dock屬性用于指定控件應(yīng)停放在容器的邊框上。如果用戶重新設(shè)置了窗口的大小,該控件將繼續(xù)停放在窗口的邊框上。
1.3 事件
下面所列的是Control類所定義的最常見的事件:
Click:在單擊控件時(shí)引發(fā)。在某些情況下,這個(gè)事件也會(huì)在用戶按下Enter鍵時(shí)引發(fā)。
DoubleClick:在雙擊控件時(shí)引發(fā)。處理某些控件上的Click事件,例如Button控件,表示永遠(yuǎn)不會(huì)調(diào)用DoubleClick事件。
DragDrop:在完成拖放操作時(shí)引發(fā)。換言之,當(dāng)一個(gè)對(duì)象被拖到控件上,然后用戶釋放鼠標(biāo)按鈕后,引發(fā)該事件。
DragEnter:在被拖動(dòng)的對(duì)象進(jìn)入控件的邊界時(shí)引發(fā)。
DragLeave:在被拖動(dòng)的對(duì)象移出控件的邊界時(shí)引發(fā)。
DragOver:在被拖動(dòng)的對(duì)象放在控件上時(shí)引發(fā)。
KeyDown:當(dāng)控件有焦點(diǎn)時(shí),按下一個(gè)鍵時(shí)引發(fā)該事件,這個(gè)事件總是在KeyPress和KeyUp之前發(fā)生。
KeyPress:當(dāng)控件有焦點(diǎn)時(shí),按下一個(gè)鍵發(fā)生該事件,這個(gè)事件總是在KeyDown之后、KeyUp之前引發(fā)。KeyDown和KeyPress的區(qū)別是KeyDown傳送被按下的鍵的鍵盤碼,而KeyPress傳送被按下鍵的char值。
KeyUp:當(dāng)控件有焦點(diǎn)時(shí),釋放一個(gè)鍵時(shí)發(fā)生該事件,這個(gè)事件總是在KeyDown和KeyPress之后引發(fā)。
GotFocus:在控件接收焦點(diǎn)時(shí)引發(fā)。不要用這個(gè)事件執(zhí)行控件的有效性驗(yàn)證,而應(yīng)使用Validating和Validated。
LostFocus:在控件丟失焦點(diǎn)時(shí)引發(fā)。不要用這個(gè)事件執(zhí)行控件的有效性驗(yàn)證,而應(yīng)使用Validating和Validated。
MouseDown:在鼠標(biāo)指針指向一個(gè)控件,且鼠標(biāo)按鈕被按下時(shí)引發(fā)。這與Click事件不同,因?yàn)樵诎粹o被按下之后,且未被釋放之前引發(fā)MouseDown。
MouseMove:在鼠標(biāo)劃過控件時(shí)引發(fā)。
MouseUp:在鼠標(biāo)指針位于控件上,且鼠標(biāo)按鈕被釋放時(shí)引發(fā)。
Paint:繪制控件時(shí)引發(fā)。
Validated:當(dāng)控件的CausesValidation屬性設(shè)置為true,且該控件獲得焦點(diǎn)時(shí),引發(fā)該事件。它在Validating事件之后發(fā)生,表示有效性驗(yàn)證已經(jīng)完成。
Validating:當(dāng)控件的CausesValidation屬性設(shè)置為true,且該控件獲得焦點(diǎn)時(shí),引發(fā)該事件。需要注意的是,被驗(yàn)證有效性的控件是失去焦點(diǎn)的控件,而不是獲得焦點(diǎn)的控件。
待續(xù).................................