【问题标题】:MSI dialog doesn't repaint correctlyMSI 对话框无法正确重绘
【发布时间】:2009-02-17 21:33:24
【问题描述】:

我有一个用于验证安装密钥的 MSI 对话框。该对话框包含:

  • 一个文本字段(供用户输入密钥)
  • 标签(用于显示错误信息,例如密钥无效或过期)
  • 一个按钮(“下一步”按钮)

当用户单击“下一步”按钮时,会验证密钥,如果密钥无效或过期,则使用描述错误的文本更新标签。问题在于,如果使用多个不同的文本值更新标签(例如,用户输入了无效的密钥,然后输入了过期的密钥),则标签不会正确地重新绘制自己;看起来新文本打印在旧文本之上。有没有办法强制对话框(或只是标签)正确地重新绘制自己?

【问题讨论】:

    标签: windows-installer dialog


    【解决方案1】:

    我能够通过隐藏控件并重新显示它来解决这个问题。我添加了条件以在文本为空时隐藏控件并在文本不为空时显示它。在验证密钥之前,我将文本设置为空,然后,如果密钥未验证,我将文本设置为适当的文本。

    【讨论】:

      【解决方案2】:

      不知道,但我们会弹出一个单独的错误对话框来显示问题,而不是更新现有标签。即时对话更新只是引起了太多麻烦,现在我考虑一下肯定是重新绘制问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-08-14
        • 1970-01-01
        • 1970-01-01
        • 2021-12-28
        • 1970-01-01
        • 1970-01-01
        • 2017-06-14
        • 2021-11-22
        相关资源
        最近更新 更多