2015-11-02 103 views
3

在我的WPF應用程序(.NET 3.5),創建一個MessageBox這樣的:System.Windows.MessageBox:是的按鈕丟失

if (System.Windows.MessageBox.Show("Eine neue Version von Qualisoft steht zum Download bereit. Möchten Sie diese installieren?", "Neue Qualisoft Version", MessageBoxButton.YesNo) == MessageBoxResult.Yes) 
{ 
... 
} 

我的一個客戶得到這樣的結果:

我在大約10個系統上測試了這個,我不能再現這個結果。

有誰知道爲什麼Yes按鈕丟失?

+0

上面提到的代碼無法給出圖像中顯示的輸出。除非有其他代碼導致這個問題。如果你使用上面的代碼,它肯定會工作。 –

+2

也許他在開玩笑吧;) – daniherculano

+6

這裏沒有重現。事實上,代碼片段中的文本與圖片中的文本不同,這讓我懷疑這個錯誤是在別處。你能發佈不能工作的*實際*代碼嗎? –

回答

3

此問題是不是(直接)與.NET相關。 WPF實際上將呼叫重定向到operating system,通過this call要具體:

UnsafeNativeMethods.MessageBox(...) 

也有其他的東西出問題。這可能是由語言包或其他東西引起的,但我懷疑這一點。視頻卡驅動程序有時也會搞亂UI控件。現在沒有太多可以繼續,因爲它不容易複製。

你必須去檢查可能是問題的部分。以安全模式啓動並檢查問題是否仍然存在。嘗試僅通過此調用創建一個新的默認應用程序。行爲仍然是一樣的嗎?然後繼續。否則,代碼中的某些內容可能會導致此問題。

2

你的客戶正在玩你的惡作劇,併發送給你一張照片購物的截圖。可能是一個不太微妙的暗示,他有時不得不經常處理新版本。類似的東西。

原生MessageBox()winapi函數沒有的選項顯示No按鈕。

只是惡作劇他馬上回來,並建議他拖動機器到第四層窗口,讓它滑倒。建議先打開窗口完全是可選的。