close

1. 在介紹顏色對話方塊之前,必須先介紹「顏色類別物件」,也就是「Color物件」。

(1) 建立一個顏色物件的方法:

(1-1) Color 變數名稱 = Color.FromArgb(R, G, B);

其中,RGB0~255int。若其值的設定超出此範圍,程式會出錯。其各表示該顏色的R值、G值、B值。A值預設為255

(1-2) Color 變數名稱 = Color.FromArgb( A, R, G, B);

其中,ARGB0~255int,表示該顏色的A值、R值、G值、B值。

(1-3) Color 變數名稱 = Color.系統內建的顏色名稱;

系統內建的顏色名稱有許多個,在此不詳述。僅舉例,如:

Red(紅色,R=255,G=0,B=0)Green(綠色,R=0,G=255,B=0)Blue(藍色,R=0,G=0,B=255)Black(黑色,R=0,G=0,B=0)White(白色,R=255,G=255,B=255)…等等。

(2) 顏色物件的常用成員:

Color物件名稱.A:該Color物件的A值,為0~255int

Color物件名稱.R:該Color物件的R值,為0~255int

Color物件名稱.G:該Color物件的G值,為0~255int

Color物件名稱.B:該Color物件的B值,為0~255int

Color物件名稱.Name:一個string,表示該Color物件的16進位編碼。此string包含816進位字元,分別代表此顏色的ARGB值。如,若某色的A=255R=23G=128B=5,則此string的值為:ff178005

(3) 顏色物件的常用成員函式:

Color物件名稱.Equals(另一個Color物件名稱):回傳一個bool。若兩個Color物件相同(也就是說,所有成員的值都相同)就回傳true,否則就回傳false

 

2. 顏色對話方塊(ColorDialog)

是一個設定介面,其用處是可讓使用者藉由此介面指定一個顏色。顏色對話方塊預設的「外觀」如下:

image

(1) 顏色對話方塊常用的成員函式:

(以下的顏色對話方塊名稱通常為colorDialog1colorDialog2colorDialog3等等

顏色對話方塊名稱.ShowDialog():顯示出該顏色對話方塊,好讓使用者指定顏色。

顏色對話方塊名稱.Reset():將該顏色對話方塊的所有成員之值,調回成預設值。

(2) 顏色對話方塊常用的成員:

顏色對話方塊名稱.Color:一個Color物件,即是使用者藉由該顏色對話方塊所指定的Font物件。使用者在上述的ShowDialog()成員函式執行之後,於顏色對話方塊中指定顏色,按下image

之後,指定好的顏色就會被存入此成員中。若使用者沒有設定,則預設為黑色(A=255,R=0,G=0,B=0)

顏色對話方塊名稱.AllowFullOpen一個bool。若在該顏色對話方塊中image 的按鈕可用,則其值為true,若不可用為false。預設值是true。而該按鈕的功能是讓使用者能夠更精準的指定色彩。按下該按鈕後,整個顏色對話方塊會多出一個「調色盤」,變成如下的樣子:

image

顏色對話方塊名稱.FullOpen一個bool。若在該顏色對話方塊開啟時就自動顯示調色盤,則其值為true,否則為false。預設值是false。要注意,若AllowFullOpenfalse,縱使FullOpentrue,也依然無法打開調色盤。

顏色對話方塊名稱.ShowHelp:一個bool。若該顏色對話方塊中設有image

按鈕,則其值為true,反之為false。預設值是false

(3) 使用範例:

private void button1_Click(object sender, EventArgs e)

{        

    colorDialog1.FullOpen = true;

    colorDialog1.ShowHelp = true;

    colorDialog1.ShowDialog();

    //以上的順序要正確:先設定要不要顯示按鈕和選項,再顯示整個字型對話方塊

    textBox1.BackColor = colorDialog1.Color;    //這裡將從顏色對放方塊中所設定的顏色應用到textBox1中的背景色

}

 

 

上一篇:字型對話方塊(FontDialog)

下一篇:檔案對話方塊(openfiledialog savefiledialog)

按此前往C#完整教學目錄

arrow
arrow
    創作者介紹
    創作者 埃伯 的頭像
    埃伯

    程式語言教學

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