【发布时间】:2010-06-01 07:52:15
【问题描述】:
在等待外部程序响应时,我无法确定如何将我的应用程序锁定在一段代码之外
我在一段代码中使用了Synclock,表达式中带有Me 对象。在这个Synclock 中,我调用了一个对话框的重写ShowDialog 方法,它有一个超时参数,但是一旦设置了计时器,它就会从底层的ShowDialog 函数调用中返回值。像这样工作。
SyncLock Me
Dim frmDlgWithTimeout As New frmDlgWithTimeout ' dialog box with overridden ShowDialog '
Dim res As DialogResult = frmDlgWithTimeout.ShowDialog(10 * 1000) ' 10 sec timeout '
End SyncLock
现在,外部程序可能会引发将我的应用程序带到此 Synclock 的事件,但它不会阻止它进入它,即使 ShowDialog 函数没有返回值(因此我认为会保持代码部分锁定)。
程序中用于锁定的对象只有一个实例。
非常感谢您的帮助。
【问题讨论】:
标签: .net vb.net winforms synchronization synclock