c# -在打开新文件之前显示一条消息

本文关键字:显示 消息 一条 文件 新文件 | 更新日期: 2023-09-27 18:19:13

我是c#的新手,我在对话框方面有点问题。在文本编辑器中打开现有文件的按钮上有一个事件侦听器。现有的文件函数打开文件等没有任何问题。

问题:我需要向用户显示一条消息,说明文本框内的任何内容都将在OpenFileDialog弹出之前丢失。单击OK后,将出现OpenFileDialog,单击cancel将返回到当前文档。

我可以让它们单独工作,但不能一起工作。既然if中的if是不可行的,我真的不确定如何处理这个:s

My Code:

private void button2_Click(object sender, EventArgs e)
{
    OpenFileDialog open = new OpenFileDialog();
    open.Filter = "Text Files|*.txt";
    if (open.ShowDialog() == DialogResult.OK)
    {
        rtb.LoadFile(open.FileName,
        RichTextBoxStreamType.PlainText);
    }
}

需要添加的内容:

DialogResult confirm = 
    MessageBox.Show("Your changes will not be saved!", "Are you sure?", MessageBoxButtons.OKCancel, MessageBoxIcon.Information);
if (confirm == DialogResult.OK) 
{
}
else if(confirm == DialogResult.Cancel) 
{
}   

我真的觉得我错过了一些非常简单的解决方案。不幸的是,我在这上面找不到任何东西。距离上次编码已经有一段时间了

c# -在打开新文件之前显示一条消息

DialogResult confirm = 
    MessageBox.Show("Your changes will not be saved!", "Are you sure?", ...)
if (confirm == DialogResult.OK) 
{
    OpenFileDialog open = new OpenFileDialog();
    open.Filter = "Text Files|*.txt";
    if (open.ShowDialog() == DialogResult.OK)
    {
        rtb.LoadFile(open.FileName,
        RichTextBoxStreamType.PlainText);
    }
}
else if(confirm == DialogResult.Cancel) 
{
} 

请注意,在这种特殊情况下,else if是多余的,可以安全地去除。