我的表单上有许多NumericUpDown字段,我希望每当用户编辑其中一个字段时,都重新计算所有这些字段。

不用说,我不能只使用ValueChanged事件,因为它也是由程序性更改触发的,这给了我们无限循环。

那么,如何区分用户进行的调整和程序化属性更改呢?

我需要用户能够通过以下两种方式编辑字段-单击增加/减少按钮并直接编辑字段文本。

最佳答案

如果您不希望使用全局标志,则始终可以在以编程方式更改值之前立即临时取消连接事件:

private void MyMethod()
{
    numericUpDown.ValueChanged -= numericUpDown_ValueChanged;
    numericUpDown.Value = 100;
    numericUpDown.ValueChanged += numericUpDown_ValueChanged;
}

关于c# - 如何检测WinForms中NumericUpDown字段的用户更改?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19656362/

10-10 23:26