我有一个程序,我在其中创建一个包含几个组合框的新表单。当我创建表单时,我想填充其中一个组合框,其值取决于一天中的时间。到目前为止工作正常。
当我填充组合框中的值时,会触发SelectionChanged事件,这是正常的。但是,如果我仍在表单构造函数中,我想阻止组合框执行不同的操作。在这种情况下,我想在用户仅更改选择时显示一个消息框。
像
这样的东西If Form.IsFinishedLoading then
'Do something
Else
'Do something else
End if
在这种情况下我通常做的是设置一个布尔值,告诉我是否仍然在我的加载序列中,这是有效的,但我想知道是否还有其他更好的方法来做到这一点。
此致
答案 0 :(得分:1)
尝试使用Dispatcher在稍后的DispatcherPriority而不是Loaded上触发代码,例如Input。
Dispatcher.BeginInvoke(DispatcherPriority.Input, New Action(Sub() dowhat?))
这是实施的一个小例子......
另一个描述DispatcherPriority枚举的优秀链接,按优先级升序排列,从最低到最高......