我最近遇到过这个问题。我经常使用WPF / C#编写程序,并希望使用OpenFileDialog
或其他需要System.Windows.Forms
的类。我也经常使用MessageBoxes(当添加Forms时,它们在两个库之间变得暧昧)。
我添加了引用,但是(即使使用快捷方式)我必须使用F.MessageBox.Show()
之类的东西。有没有办法在我需要时暂时使用System.Windows.Forms
引用或其他可以让我保持MessageBox.Show()
完整的内容?
答案 0 :(得分:3)
Microsoft将许多Windows对话框移动到Microsoft.Win32命名空间,因此您无需添加对所有System.Windows.Forms的引用。
答案 1 :(得分:2)
您可以在需要WinForms MessageBox的文件上放置以下using指令:
using MessageBox = System.Windows.Forms.MessageBox;
这将解决模棱两可的问题
答案 2 :(得分:0)
我建议你使用wpf提供的等价物。这是System.Windows.MessageBox。它几乎看起来像windows窗体中的那个,但参数和返回值可能不同。下面是一个示例来说明它的使用。
var res = MessageBox.Show("Shutdown now ?", "Confirmation", MessageBoxButton.YesNo, MessageBoxImage.Question);
if (res== MessageBoxResult.Yes)
{
Application.Current.Shutdown();
}