我有一個RichTextBoxes的WinForm應用程序。 我想在文本框內容更改時將文本顏色更改爲紅色執行RichTextBox事件處理程序「textChanged」
並且我有一個按鈕,單擊此按鈕時,文本顏色將重置爲其默認顏色。
問題是,當我使用事件處理程序(TextChanged)來檢測是否發生了內容更改時,它也會在重置顏色時觸發。
更清楚,我舉一個例子:
1文本框中變化 2-觸發事件處理程序和文字顏色變爲紅色的內容。 3-單擊按鈕,然後文本再次黑色 4-當文本顏色改變時,事件處理程序再次觸發並且顏色更改爲紅色。
所以,即使按鈕被點擊,顏色似乎總是紅色。
我該如何處理這個問題?我需要僅檢測內容的變化,而不是在顏色
這裏是從代碼的一塊:
private void AHReg_TextChanged(object sender, EventArgs e)
{
AHReg.ForeColor = Color.Red;
}
private void RunButton_Click(object sender, EventArgs e)
{
resetControlColor(); //this function sets the text color to Black
}
如果所有文本框同時更改,換句話說,當所有框更改或所有框未更改時,此解決方案都很有用。但情況是他們中的一些(可能)會被更改,而另一些則不會,所以根據您的解決方案,我會爲每個文本框創建一個變量。 – Rehab11
據我所知你可以添加行if(NeedToBeChanged)給每個TextChanged事件,而不是添加許多變量 –
哦,是的,你是對的 – Rehab11