【问题标题】:Does Form.hide allow code to continue "beyond" a Form.Show Modal in vb6?Form.hide 是否允许代码继续“超越”vb6 中的 Form.Show 模态?
【发布时间】:2016-04-09 20:43:44
【问题描述】:

我正在执行 Form.Show Modal 来强制执行代码,直到用户关闭显示的表单。

此表单再次显示,所以我想我会隐藏它。这似乎工作正常,但想确认。

所以:

  1. frmMessage.显示模式
  2. 用户点击 OK 和 frmMessage.Hide
  3. 代码继续

【问题讨论】:

    标签: vb6 modal-dialog


    【解决方案1】:

    您可以关闭或隐藏模式窗体以允许调用代码继续执行。在您的应用程序关闭之前的某个时间点,您应该确保卸载任何隐藏的表单。我的应用程序出现问题,当表单仍处于加载和隐藏状态时,应用程序并不总是正确关闭。可能只取决于您的隐藏表单正在使用哪些资源。

    【讨论】:

    • 加一。 Form.Show 上的 VB6 用户指南主题说 当 Show 显示模式表单时,在隐藏或卸载表单之前不会执行后续代码。 是的,隐藏的表单总是会阻止您的程序关闭(我不只是有时,而是总是想)。 VB6 用户指南主题life cycle of VB6 forms 提供了大量相关细节
    • @MarkJ End 语句将卸载所有表单,无论是否隐藏,无论是否为模态,并终止执行,而不调用任何这些表单的卸载事件处理程序。因此,不建议这样做,但它仍然会这样做。更好地迭代表单集合并作为关闭例程的一部分专门卸载每个集合。
    • 好点,@Marc,我已经有代码可以遍历所有表单并关闭它们。
    猜你喜欢
    • 2018-10-07
    • 1970-01-01
    • 2017-08-03
    • 1970-01-01
    • 1970-01-01
    • 2012-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多