0

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

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

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

4

2 回答 2

1

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

于 2009-02-20T16:43:15.700 回答
0

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

于 2009-02-18T21:48:02.580 回答