2009-02-17 50 views
0

我有一個MSI對話框用於驗證安裝密鑰。該對話框包含:MSI對話框不能正確重繪

  • 的文本字段(用於用戶輸入鍵)
  • 標籤(顯示錯誤信息,如如果密鑰無效或過期)
  • 一個按鈕(「下一步「按鈕)

當用戶單擊」下一步「按鈕時,密鑰將被驗證,如果該密鑰無效或過期,標籤將更新爲描述錯誤的文本。問題是,如果標籤更新爲多個不同的文本值(例如,用戶輸入一個無效的密鑰後跟一個過期的密鑰),標籤不會正確重新繪製;它看起來像新的文本打印在舊文本的頂部。有沒有辦法強制對話框(或只是標籤)正確重畫自己?

回答

1

我能夠通過隱藏控件並重新顯示來解決這個問題。如果文本爲空,我添加了隱藏控件的條件,如果不是空的,則顯示它。在驗證密鑰之前,我將文本設置爲空,然後,如果密鑰未驗證,我將文本設置爲適當的文本。

0

不知道,但我們彈出一個單獨的錯誤對話框顯示問題,而不是更新現有的標籤。即時對話更新只會造成太多的麻煩,現在肯定會重新繪製問題。