2015-10-06 25 views
0

有什么方法可以测试与控件相关的事件是否由程序触发,而不是由用户操作触发?VB.Net事件:测试发件人是否是另一个子或功能

我有一个滚动条,当用户移动它时触发事件。我希望能够在代码中的其他地方以编程方式移动滚动条而不发送这些事件。即事件只能在用户与控件交互时触发,而不能通过代码移动控件。

我也有单选按钮和数字上/下控制我希望能够做到这一点。

感谢

+0

显示您的代码,为什么设置时程序化滚动的处理方式与用户执行时的处理方式不同? – Icepickle

+0

你的问题说明了为什么不从代码中调用事件是个好主意。尽管这个事件和你的代码可以调用一个通用的滚动处理程序。 – user3697824

+0

代码是意大利面条,所以用处不大,但情况非常简单。它需要的原因是因为应用程序使用模块化的表单集合,其中用户可能在一个表单上执行某些操作,而这些表单需要在另一个表单上反映出来(例如,数字上/下可能会移到用户计算的结果中做了一个单独的表格,但用户需要有能力手动改变上/下而不触发事件)。谢谢。 – Absinthe

回答

1

也许有更好的方法可以做到这一点,但一个快速的方法是使用时您以编程方式滚动设置一个布尔变量和取消它,当你完成。然后在你的事件中检查执行逻辑之前。

If IsProgramaticScrolling = False Then 
    ' Do whatever it's supposed to do when your program isn't 
    ' scrolling via code. 
End If 
+0

好主意,谢谢。 – Absinthe

相关问题