2
我使用以下代碼以便從用戶使用文本框獲取窗體背景的顏色,如果顏色與C#顏色匹配,然後將窗體背景顏色更改爲用戶輸入,否則顯示顏色不存在的消息。使用字符串通過文本框更改窗體的背景顏色
問題是沒有辦法從包含顏色名稱的字符串中讀取顏色。所以我不能使用
Form1.ActiveForm.BackColor = Color.text
我該怎麼做才能解決這個問題?
private void button1_Click(object sender, EventArgs e)
{
string text = textBox1.Text;
string[] colors = Enum.GetNames(typeof(System.Drawing.KnownColor));
for (int i = 0; i < colors.Length; i++)
{
if (colors[i] == text)
{
// Form1.ActiveForm.BackColor = Color.
MessageBox.Show("BackGround Color of Form Has Been Changed");
}
else
{
MessageBox.Show("Color You Entered Does Not Exist");
}
}
}
您可以使用這樣的代碼:'this.BackColor = (Color)new ColorConverter()。ConvertFromString(textbox1.Text);'但比'TextBox'好一個包含顏色的'ComboBox'。 –