2014-12-19 134 views
0

這是我的代碼,我正在嘗試點擊按鈕後更改文本的顏色,但沒有任何事情發生在C#中單擊按鈕後更改文本的顏色..?

我的色彩功能不明確,因爲我使用itextsharpsystem.drawing庫...

我試着使用下面的代碼..雖然它不給錯誤,但文本的顏色不會改變..我嘗試使用clickedbuttonForecolor功能很好,但它仍然..這兩個功能不工作

btn.ForeColor = System.Drawing.Color.Red; 

clickedbutton.Forecolor= System.Drawing.Color.Red; 

同樣我想改變下

ClickedButton.Text="Input Processing" 

任何投入將高度讚賞本文本的顏色。我知道它的一個非常愚蠢的問題,但我很困惑:(

我的代碼是

private void btn_Preprocess_Click(object sender, EventArgs e) 
{ 
    Button clickedButton = (Button)sender; 
    clickedButton.Text = "Input Processing..."; 
    btn_Preprocess.ForeColor = System.Drawing.Color.Red; 
    clickedButton.Enabled = false; 

    if (folderBrowserDialog1.ShowDialog() == DialogResult.OK) 
     SourcePath = folderBrowserDialog1.SelectedPath; 
    string searchPattern = "*.*"; 
    DirectoryInfo di = new DirectoryInfo(SourcePath); 

    GetFiles1(di, searchPattern); 

    MessageBox.Show("Process Complete"); 
} 
+0

我不明白。你想改變按鈕文字「輸入處理」,這是clickedButton,但你的代碼改變顏色btn_Preprocess ... – LPs 2014-12-19 07:27:19

+0

你確定它是asp.net,而不是WinForms? – t3chb0t 2014-12-19 07:30:52

+0

它的WinForm,因爲在WPF中是前景屬性,而不是ForeColor – LPs 2014-12-19 07:38:26

回答

0

禁用的按鈕將使用與在ForeColor上設置的顏色不同的顏色。 如果您嘗試不禁用按鈕clickedButton.ForeColor = System.Drawing.Color.Red應該工作。

+0

我試了一下老兄但是沒有什麼工作....這是一個原因,我不得不連問這個問題... – 2014-12-19 17:52:58

0

這是因爲您正在嘗試更改禁用按鈕的前景色。您可以使用EnabledChanged事件來設置禁用按鈕的前景色。

private void Button1_EnabledChanged(object sender, System.EventArgs e) 
    { 
     Button1.ForeColor = Button1.enabled == false ? System.Drawing.Color.Red :System.Drawing.Color.Black; 

    } 
+0

如果我刪除clicked.button =真正的功能...文本的顏色不會改變......並且它不給ny錯誤.... – 2014-12-19 17:45:15

+0

我試過了你的建議,但它沒有工作 – 2014-12-19 18:13:41

+0

我發現了一個類似問題並檢查了答案。有用。 http://stackoverflow.com/a/18717410/2736255 – Ashish 2014-12-20 15:05:43