我想编写一个应用程序,用户可以在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