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ù).................................