目前,我有一个vb.net报告应用程序,它调用另一个DLL(C#)方法,该方法具有Form.ShowDialog()
以打开嵌入式浏览器窗口。当嵌入式浏览器窗口关闭时,它向数据库发送消息,我们根据该消息更新主报告应用程序。
现在,我们想使用Form.Show()
使嵌入式浏览器窗口无模式。这里的目标是允许用户在嵌入式浏览器窗口上工作时查看主应用程序,但我们将禁用主应用程序中的某些功能,并在最后重新启用它们。
我尝试在C#项目中的FormClosedEventHandler
中发送消息,但它并不理想。看起来我必须重构很多代码才能将代码移动到窗体关闭事件中。即使我走这条路,似乎主应用程序也没有简单的方法来知道嵌入式浏览器窗口何时关闭并重新启用早期禁用的功能。
有没有什么方法可以像ShowDialog()一样暂停代码执行,或者有什么建议吗?
1条答案
按热度按时间mutmk8jj1#
根据我的评论,你只需像处理子控件一样处理对话框的
FormClosed
事件。在VB中,你可以声明一个字段WithEvents
并使用一个Handles
子句,就像在设计器中添加控件一样:字符串
否则,您可以在创建对象时显式注册事件处理程序,并在完成后删除它:
的数据