我想編寫一個應用程序,用戶可以在NumericUpDown控件中輸入一個數字。在運行時間中確定的數量(例如範圍)有一些條件。爲了給用戶提供反饋,當至少有一個條件不滿足時,我將NumericUpDown的BackColor更改爲紅色。到目前爲止,它的工作原理與我預期的一樣。事件numericupdown_BackColorChanged不會觸發
現在我想添加一個工具提示到NumericUpDown來解釋爲什麼這個數字是「錯誤的」。當我使用事件NumericUpDown_BackColorChanged來調整文本時,事件不會「觸發」。這是爲什麼?
我想它與NumericUpDown的複合字符有關,因爲Hans Passant已經說明了here和here。但我不確定。 TY提前幫忙。
private void numericUpDown1_ValueChanged(object sender, EventArgs e)
{
if (numericUpDown1.Value == 42)
{
numericUpDown1.BackColor = Color.Red;
}
else
{
numericUpDown1.BackColor = System.Drawing.SystemColors.Window;
}
}
private void numericUpDown1_BackColorChanged(object sender, EventArgs e)
{
//something epic should happen
//but somehow my program never reaches these lines :(
}
您是否設置了斷點,以確保代碼進入的第一個事件,而不會進入第二?或者是通過觀察結果得出結論嗎? – Rotem
是的,我設置了一個斷點!顏色改變了紅色。斷點未達到。 –
我的意思不是冒犯,我只是想確保,因爲我沒有理由認爲事件不會被觸發,無論它是一個複合控制。 – Rotem