你的这个代码我以前写过了,但是还是不行,我最后问老师了,结果已经出来了你也可以参考一下啦!
private void MainMenuItemFileNew_Click(object sender, EventArgs e)
{
// 判断当前文件是否从磁盘打开,或者新建时文档不为空,并且文件未被保存
if (b == true || richTextBox1.Text.Trim() != "")
{
//若文件为保存
if (s == false)
{
string result;
result=MessageBox.Show("文件尚未保存,是否保存?","保存文件", MessageBoxButtons.YesNoCancel).ToString();
switch (result)
{
case "Yes":
// 若文件是从磁盘打开的
if (b == true)
{
// 按文件打开的路径保存文件
richTextBox1.SaveFile(openFileDialog1.FileName);
}
// 若文件不是从磁盘打开的
else if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
richTextBox1.SaveFile(saveFileDialog1.FileName);
}
s = true;
richTextBox1.Text = "";
break;
case "No":
b = false;
richTextBox1.Text = "";
break;
}
}
richTextBox1.Text = "";
}
}
在开始的时候定义bool b=true
bool s=true;
private void richTextBox1_TextChanged(object sender, EventArgs e)
{
// 文本被修改后,设置s为false,表示文件未保存
s = false;
}
这样修改就合适了!!!!