在等待外部程序响应时,我无法弄清楚如何将我的应用程序锁定在一段代码之外
我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
函数没有返回值(因此我认为这会使代码部分保持锁定)。
程序中只有一个用于锁定的对象实例。
非常感谢您的帮助。