close

每個C#視窗應用程式在預設時都會建立一個表單,名稱為Form1。一個空表單的外觀如下:

image

在這個表單上,可以加入許多「控制項」。控制項的功用有二,一是讓使用者藉由操作此控制項來對程式輸入命令,二是在控制項中輸出某些資訊讓使用者知曉。

一、表單的設計方法

※註(重要!):在一份表單的設計的程式碼檔案中,關鍵字:this,代表該程式碼檔案所對應到的表單本身。

1. 表單的常用成員如下(本分類依照屬性事窗中的分類):

(1) 外觀:

表單名稱.ForeColor:一個Color物件。表示表單上的「前景色」,也就是所有文字的顏色。

表單名稱.BackColor:一個Color物件,表示表單背景顏色。

表單名稱.BackgroundImage:一個Image物件,表示表單背景圖案。

表單名稱.BackgroundImageLayout:一個ImageLayout物件,表示表單背景圖案的排列方式。ImageLayout物件可用以下方法來取得:

ImageLayout.Tile:表示要重覆顯示圖片。這是預設值。

ImageLayout.None:表示不重覆顯示圖片,圖片靠表單左上角排列。

ImageLayout.Center:表示不重覆顯示圖片,圖片靠表單中央排列。

ImageLayout.Stretch:表示不重覆顯示圖片,且圖片大小會被調整成與表單大小相同,因此可能改變圖片原本的長寬比例。

ImageLayout.Zoom:表示不重覆顯示圖片,且圖片大小會依表單放大而防大、依表單縮小而縮小,但不會改變圖片原本的長寬比例。

表單名稱.Cursor:一個Cursors物件。表示當游標移到表單上時,游標的圖案。Cursors物件可用以下方法來取得:

Cursors.游標圖案名稱

其中,游標圖案名稱的數量很多,在此不詳述。讀者可以到「屬性面板」按下屬性按鈕image

後,至 cursor屬性右方欄位設定要怎樣的游標圖案。

Font:一個Font物件。表示表單上文字的字型。

Text:一個string。表單的標題文字。

(2) 行為:

表單名稱.Enabled:一個bool。若為true,表示表單接受使用者的指令。若為false則表單不接受只用者指令。預設是true

 

(3) 配置:

表單名稱.AutoScroll:一個bool。若為true,表示當表單中內容溢出表單時,會自動產生捲軸;若為false則不會。預設是false

表單名稱.AutoSizeMode:一個AutoSizeMode物件,表示使用者是否能手動調整表單尺寸。AutoSizeMode物件可用以下方法來取得:

AutoSizeMode.GrowOnly:表示使用者可以手動調整表單尺寸。這是預設值。

AutoSizeMode.GrowAndShrink:表示使用者不能手動調整表單尺寸。

表單名稱.Location:一個Point物件,表示該表單的座標位置。Point物件的建立方法是:

變數名稱 = new Point(X,Y);

其中XY均為int,且是非負整數,各代表該表單的X座標值與Y座標值。

表單名稱.Size:一個Size物件,表示該表單的尺寸。Size物件的建立方法是:

變數名稱 = new Size(W,H);

其中WH均為int,且是非負整數,各代表該表單的橫向寬與縱向高。

表單名稱.MaximumSize:一個Size物件,表示該表單所允許的最大尺寸。

表單名稱.MinimumSize:一個Size物件,表示該表單所允許的最小尺寸。

表單名稱.StartPosition:一個FormStartPosition物件,代表表單的初始位置。 FormStartPosition物件可用以下方法取得:

FormStartPosition.CenterScreen:代表表單的初始位置在螢幕正中央。

FormStartPosition.CenterParent:代表表單的初始位置在其父視窗的正中央。

FormStartPosition.WindowsDefaultLocation代表表單的初始位置由Windows作業系統自行設置。這是預設值。

()要注意,若要以程式碼的方式設定StartPosition成員,程式碼須寫在:

public 表單名稱()

{}

的兩個大括號之間,否則看不出效果。

表單名稱.WindowState:一個FormWindowState物件,代表表單的初始狀態。FormWindowState物件可用以下方法取得:

FormWindowState.Normal:表單的初始狀態為一般狀態,這是預設值。

FormWindowState.Maximized:表單的初始狀態為視窗最大化狀態。

FormWindowState.Minimized:表單的初始狀態為視窗最小化狀態。

()要注意,若要以程式碼的方式設定WindowState成員,程式碼須寫在:

public 表單名稱()

{}

的兩個大括號之間,否則看不出效果。

(4) 視窗樣式:

表單名稱.ControlBox:一個bool。若為true表示要在表單的標題列顯示image

這三個按鈕,若為false則否。預設是true

表單名稱.Opacity:一個double,值的範圍為0~1。表示表單的「不透明度」。其值越大表示越不透明,越小表示越透明。

 

2. 表單的常用成員函式:

表單名稱.Show():無回傳值。可開啟該表單。開啟之後,仍可對其父表單進行操作。

表單名稱.ShowDialog():回傳一個DialogResult物件(在此不談之)。可強制開啟該表單。不過開啟之後,無法對其父表單進行操作。如在A表單中,按下某個按鍵而使B表單被以ShowDialog()的方式開啟,則此時只能操作B表單、不能操作A表單了。

表單名稱.Close():無回傳值。可關閉該表單。一個表單被關閉之後,其原先在記憶體中的容量就會被釋放,故不能夠再用Show()方法開啟,但還是能被用ShowDialog()方法開啟。

表單名稱.Hide():無回傳值。可隱藏該表單。一個表單被隱藏之後,其原先在記憶體中的容量不會被釋放,還能夠被用Show()ShowDialog()這兩個方法開啟。

 

3.表單常用且專用的事件:

任何事件(包括表單事件、控制項事件),都有一個「事件函式」,用以給使用者來撰寫事件發生時的程式碼。事件函式的預設格式如下:

private void 控制項名稱_事件名稱(object sender, 事件參數類別 e)

{

}

而對任何表單事件來說,上述格式中的控制項名稱,則一律變為表單名稱

以下介紹表單常用且專用的事件:

Load事件:在表單被載入至記憶體中時(也就是使用者呼叫此表單時)會觸發。比如,建立表單應用程式後會隨之出現的程式碼:

        private void Form1_Load(object sender, EventArgs e)

        {

 

        }

其大括號內就是擺放Load事件觸發後要執行的程式碼。

事件名稱Load,其事件參數類別EventArgs。而EventArgs類別並不具有類別成員。

Move事件:在表單被使用者移動時會觸發。其事件名稱Move,其事件參數類別EventArgs。而EventArgs類別並不具有類別成員。

Resize事件:在表單被使用者調整大小時會觸發。其事件名稱Resize,其事件參數類別EventArgs。而EventArgs類別並不具有類別成員。

FormClosing事件:在使用者下達關閉表單的命令之後、而表單正式關閉之前會觸發。其事件名稱FormClosing,其事件參數類別FormClosingEventArgs。而FormClosingEventArgs類別有成員如下:

FormClosingEventArgs類別物件名稱.Cancel:一個bool。預設為false。若設為true,表示要取消關閉表單的命令。

 

 

arrow
arrow

    埃伯 發表在 痞客邦 留言(0) 人氣()