我正在尝试创建一个出现在程序开头的MessageBox,询问用户是否要加载文件。到目前为止,我有:
public static void LoadFile(object sender, FormClosingEventArgs e)
{
System.Windows.MessageBox.Show("Would you like to load a file?",
System.Windows.MessageBoxButton.YesNo, System.Windows.MessageBoxQuestion);
if (result == DialogResult.No)
{
// cancel the closure of the form.
e.Cancel = true;
}
}
我意识到有些代码用于退出程序。我不打算这样做,它目前仍然留在我尝试的示例代码中。当我尝试这个代码时,我收到了几个错误,主要的错误涉及MessageBoxQuestion
。错误读取
名称空间System.Windows中不存在类型或命名空间名称'MessageBoxQuestion'
我之前在MessageBoxButtons
上遇到此错误,但通过将其更改为MessageBoxButton
来修复此问题。从一个简单的消息框开始,我最初有代码:
public static void LoadFile()
{
System.Windows.MessageBox.Show("Text");
}
尽管我必须添加System.Windows.
以删除错误
当前上下文中不存在名称MessageBox。
有没有人知道如何让MessageBox
正常工作?
答案 0 :(得分:2)
MessageBox
的WPF版本与Windows Forms版本不同。您需要使用this重载。
答案 1 :(得分:0)
这是我最终提出的:
public static void LoadFile()
{
// Configure message box
string message = "Would you like to load a file?";
string caption = "Startup";
System.Windows.MessageBoxButton buttons = System.Windows.MessageBoxButton.YesNo;
System.Windows.MessageBoxImage icon = System.Windows.MessageBoxImage.Information;
// Show message box
System.Windows.MessageBoxResult result =
System.Windows.MessageBox.Show(message, caption, buttons, icon);
if(result == System.Windows.MessageBoxResult.Yes)
{
}
else if(result == System.Windows.MessageBoxResult.No)
{
}
}
我包含了我计划稍后使用的if else分支。