1. 用程式碼操作控制項:
(1) 建立控制項:
控制項種類名稱 控制項種類名稱 = new 控制項種類名稱();
如:
TextBox t1 = new TextBox();
Button my_button = new Button();
(2) 用=符號存取控制項,乃是「賦址不賦值」:
在程式碼中用=符號呼叫一已存在的控制項,乃是呼叫控制項的參考而非實體。譬如說表單中有一已存在的TextBox(名為textBox1),有程式碼:
TextBox this_t = textBox1;
this_t.Text = "hi!";
則在執行上述程式碼之後,textBox1的顯示文字會變成hi!。
(3) 為控制項建立事件處理函式:
其語法為:
控制項名稱.事件名稱+=new EventHandler(事件處理函式名稱);
也可以使用匿名函式的方法,如:
控制項名稱.事件名稱 += new EventHandler
(
delegate(object 參數一名稱, EventArgs 參數二名稱)
{
//程式碼內容
}
);
其中,事件處理函式應要有兩個參數,一個為object類別、一個為EventArgs 類別。寫法如下:
回傳型別 事件處理函式名稱(object 參數一名稱, EventArgs 參數二名稱)
{ 程式內容 }
※ 範例如:
public void t1_Click(object sender, EventArgs e)
{
TextBox this_t = sender as TextBox; //此處要將object物件轉成控制項
this_t.Text = "OK!";
}
private void Form1_Load(object sender, EventArgs e)
{
TextBox t1 = new TextBox();
this.Controls.Add(t1); //將此控制項收納入表單(在此,this關鍵字代表表單)
t1.Click += new EventHandler(t1_Click); //建立事件處理函式
}
2. 各控制項都有的常用、通用成員:
※ 控制項名稱.Autosize:一個bool。若設為true,表示此控制項會隨著其內的文字長短而自動改變大小,若為false則不會。預設是true。
※ 控制項名稱.TabIndex:一個int,其值>=0。使用者在表單上按下<Tab>鍵可以變換所選取的控制項,就是依據這個TabIndex做為順序。假設使用者目前所選取的控制項其TabIndex為5,那麼按下<Tab>鍵後就會變換到TabIndex為6的那項控制項。若沒有任何控項的TabIndex比當前選取之控制項的TabIndex大,則變換到TabIndex為0的控制項。
※ 控制項名稱.BackColor:一個Color物件。表示該控制項的背景顏色。
※ 控制項名稱.ForeColor:一個Color物件。表示該控制項的文字顏色。
※ 控制項名稱.Name:一個string。乃是該控制項的名稱,可用其來做識別。
※ 控制項名稱.Left:一個int。表示該控制項的X座標值。整個座標軸的原點是表單的最左上角,往右為X軸正向,往下為Y軸正向,單位為像素。以控制項的最左上角來代表整個控制項的座標位置。
※ 控制項名稱.Top:一個int。表示該控制項的Y座標值。
※ 控制項名稱.Height:一個int。表示該控制項的高度(以像素為單位)。
※ 控制項名稱.Width:一個int。表示該控制項的的寬度(以像素為單位)。
※ 控制項名稱.Visible:一個bool。若設為true,表示此控制項會顯示在表單上,若為false則不會。預設是true。
※ 控制項名稱.Enabled:一個bool。若設為false,表示使用者無法觸發該控制項的任何事件,且其字體會變成灰色。若設為true則可觸發事件。預設為true。
※ 控制項名稱.Cursor:一個Cursors物件。表示當游標移到此控制項上時,游標的圖案。Cursors物件可用以下方法來取得:
Cursors.游標圖案名稱
其中,游標圖案名稱的數量很多,在此不詳述。讀者可以到「屬性面板」按下屬性按鈕 後,至 cursor屬性右方欄位設定要怎樣的游標圖案。
3. 各控制項都有的常用、通用成員函式:
※ 控制項名稱.BringToFront():無回傳值。可將該控制項移至畫面的最前景。
※ 控制項名稱.SendToBack():無回傳值。可將該控制項移至畫面的最後景。
※ 父控制項名稱.Controls.GetChildIndex(子控制項名稱):回傳一個整數,代表該子控制項在父控制項中的Z-index。其中,父控制項應要是GroupBox或Panel等容器控制項,而子控制項可以是此容器控制項中的任何控制項。
「Z-index低的子控制項」若和「Z-index高的子控制項」重疊顯示時,「Z-index低的子控制項」會顯示在前景。(此規則與javascript相反。Javascript中,「Z-index高的子控制項」會顯示在前景。)
(※) 註:C#中,屬於同一個父控制項的子控制項們,其Z-index必兩兩不相同。而若設計者在程式碼中宣告子控制項,則先被父控制項所收納的子控制項,其Z-index越低、越容易在前景。譬如:
TextBox t1 = new TextBox();
TextBox t2 = new TextBox();
panel1.Controls.Add(t1);
panel1.Controls.Add(t2);
此程式碼值型之後,t1控制項會在t2控制項之前。
留言列表