如果用户选择主表单上的某个项目,我会弹出一个小的登录屏幕。如何让我的代码停止执行直到我的登录表单关闭?
这就是我到目前为止所做的事情。基本上我想在MyLogin关闭后执行代码。
BMSSplash.MyLogin.Show()
If isLoggedIn Then
BMSSplash.MyBuddy.Show()
Cursor.Current = Cursors.WaitCursor
End If
答案 0 :(得分:7)
一个简单而合理的选择是使用ShowDialog
而非Show
以模态方式显示表单。这将阻止您的应用程序的其余部分,直到表单关闭:
If BMSSplash.MyLogin.ShowDialog() = DialogResult.OK Then
' Form was closed via OK button or similar, continue normally... '
BMSSplash.MyBuddy.Show()
Else
' Form was aborted via Cancel, Close, or some other way; do something '
' else like quitting the application... '
End If
答案 1 :(得分:1)
使用BMSSplash.MyLogin.ShowDialog()
将窗口显示为所谓的模态对话框。
答案 2 :(得分:0)
要停止执行其他代码,您需要将另一个窗口显示为模式对话框。这通常是通过WinForm s type by calling the ShowDialog overload which accepts an
IWin32Window`重载并传递当前正在执行的表单。通常是我。
BMSSplash.MyBuddy.ShowDialog(Me)
我对启动画面实现的经验不多,但它的API可能略有不同。
答案 3 :(得分:0)
P.S。如果你想使用“启动”屏幕执行.showDialog,你可以在该表单上添加一个计时器,并在计时器触发时让它显示。