我有一个带有“继续”和“取消”文本按钮的 VB6 表单。我想检查哪个被点击了。在 C# 中,每个表单都有一个对话框结果,我可以在退出表单之前根据单击的按钮进行设置。我在 VB6 中看不到这一点。
有对话结果吗?如果不是,检查对话结果的最佳做法是什么?
我有一个带有“继续”和“取消”文本按钮的 VB6 表单。我想检查哪个被点击了。在 C# 中,每个表单都有一个对话框结果,我可以在退出表单之前根据单击的按钮进行设置。我在 VB6 中看不到这一点。
有对话结果吗?如果不是,检查对话结果的最佳做法是什么?
要模拟 .net WinForms 行为,您需要在表单代码中添加一个辅助函数:
Public Function ShowDialog() As VbMsgBoxResult
Me.Show vbModal
ShowDialog = Iif(Cancelled, vbCancel, vbOk)
Unload Me
End Function
表单级别的Cancelled
变量可以在调用.Hide()
or之前由按钮事件函数设置.Close()
,或者您可以有一个直接包含结果代码的变量。
在VB6中,对话框一般返回一个整数值,可能对应vbYes、vbNo、vbCancel等。详情见这篇文章:http ://www.vb6.us/tutorials/understanding-msgbox-command-visual-basic
http://www.code-vb.com/fragments/Dialogs.htm#Msgbox OK-Cancel
如果您自己创建了表单,则必须在表单上指定它。
这篇文章中的最后一个答案可能会有所帮助:http ://www.xtremevbtalk.com/archive/index.php/t-306663.html