2014-12-19 139 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