2015-11-02 67 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按钮。

只是恶作剧他马上回来,并建议他拖动机器到第四层窗口,让它滑倒。建议先打开窗口完全是可选的。