假设您使用的控件如 NumericUpDown 具有 value 属性。 并设置值 numericUpDown1.Value = 10; 然后.net将触发事件 numericaUpDown1ValueChanged(sender,args),用户也可以直接设置此值控制和 .Net 将使用相同的发件人触发相同的事件。
能够识别事件是由代码还是直接用户输入生成, 我通常会将我的作业包装成以下内容:
userDirectlyChangingValue = false;
numericaUpDown1.Value = 10;
userDirectlyChangingValue = true;
然后在 numericaUpDown1ValueChanged(sender,args)事件中 我会使用 userDirectlyChangingValue 来识别事件的生成方式并采取相应的行动。
我的问题是, .Net 中有更好/直接的方式来实现这一目标吗?
由于
答案 0 :(得分:0)
不,这是普遍采用的做法。取消订阅事件处理程序并在之后重新订阅它是 way 更加难看。