gpt4 book ai didi

forms - 检测是否有模态形式显示

转载 作者:行者123 更新时间:2023-12-03 07:54:34 25 4
gpt4 key购买 nike

是否有一些方法可以检测我的 VB6 应用程序中是否显示了模态表单。

如果有模态表单显示,我想以模态方式显示另一个表单,如果没有显示模态表单,我想显示无模态。

我知道我可以做一些错误处理来检测这一点,并在发生错误时以模态方式显示:

Public Sub ShowFormModeless(frm As Form, Optional ownerForm As Form = Nothing)
On Error GoTo ShowModal
Call frm.Show(, ownerForm)
Exit Sub
ShowModal:
Call frm.Show(vbModal, ownerForm)
End Sub

但我希望能够在不引发错误的情况下检测到这一点。

最佳答案

试试看App.NonModalAllowed .请注意,此属性不检测从其他(当前模块除外)项目中显示的模式形式,即如果您的应用程序包含主要可执行文件和多个 ActiveX dll,则这些项目中的每一个都将具有单独的 App对象和 Forms收藏。

结果是,如果一个 dll 仅显示其自己项目的 App.NonModalAllowed 模式形式,被标记。所以再一次,App.NonModalAllowed不是流程范围的标志,而是每个项目的标志。

请注意,此标志仅跟踪 VB6 表单,因此如果您使用 API 对话框(打开/保存文件、颜色选择器等),这不会进入 VB6 运行时的模态循环,因此没有任何标志。

如果您的应用程序是单个 exe,则使用此标志可以按预期工作。

关于forms - 检测是否有模态形式显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26776618/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com