MSI对话框无法正确重绘

时间:2009-02-17 21:33:24

标签: windows-installer dialog

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

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

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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