在使用多文档界面模型的应用程序中,我有一个窗口不断刷新自己的窗口。而且,当用户界面启动另一个窗口(例如向导)时,在某些情况下,新创建的窗口可能会失去焦点(无法重现此行为,但很多人报告了这一点)。
我认为这可能与以下事实有关:当异步功能在主窗口中完成时,它实际上会夺回焦点(但显然只有在向导窗口进行一些计算时才会发生)。
我计划在不激活时在主窗口中取消计时器更新。但是遇到了无法访问“ My.Active”属性的问题。
我可以在调试中看到它,但是无法从代码中访问它: 这是“我的”组件的部分屏幕截图:
我一定错过了一些简单的东西,但是现在已经有几个小时无法弄清了。
答案 0 :(得分:0)
我最终使用了Reflection来获得该属性,这是我对问题的评论中所建议的。它虽然不漂亮,但适用于我当前的情况。
这是解决方案:
Dim prop As System.Reflection.PropertyInfo = Me.GetType().GetProperty("Active",
System.Reflection.BindingFlags.NonPublic Or
System.Reflection.BindingFlags.Instance)
Dim value As Boolean = prop.GetValue(Me)