一道C#程序题!高手请进!谢谢各位!

private void 新建NToolStripMenuItem_Click(object sender, EventArgs e)
{
if (richTextBox1.Modified && richTextBox1.Text != "")
{
DialogResult result = MessageBox.Show("文件" + Text + "内容已经改变。\n您是否要保存文件?", "记事本", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
if (string.Equals(result, DialogResult.Yes))
{
SaveFileDialog save = new SaveFileDialog();
save.Filter = "文本文件|*.text;*.txt";
if (save.ShowDialog() == DialogResult.OK)
{
SaveInfo(save.FileName);//注意这个代码
richTextBox1.Text = "";
this.Text = "无标题-记事本";
}
}
else if(string.Equals(result,DialogResult.Cancel))
{
}
else if (string.Equals(result, DialogResult.No))
{
richTextBox1.Text = "";
this.Text = "无标题-记事本";
}
}
这段代码提示错误:上下文不存在SaveInfo,请问如何修改呢?就这一个问题!!谢谢大伙!

     

 //只是提供对象选择文件保存的位置而已
 SaveFileDialog save = new SaveFileDialog();
 save.Filter = "文本文件|*.txt";
 if (save.ShowDialog() == DialogResult.OK)
  {
    //通过IO File文件对象写入即可
    File.WriteAllText(save.FileName, richTextBox1.Text);
    MessageBox.Show("写入成功!");
  }

 

  //通过IO File文件对象写入即可 这就你是你要的方法

 File.WriteAllText(save.FileName, richTextBox1.Text);


希望能帮到你!

追问

这位大侠真心厉害啊!!但是我还有两个小问题:
1,SaveInfo(save.FileName);如果要这么写的话,应该怎么编写代码呢?我感觉应该是自己构造的一个SaveInfo()方法是吗?
2,richTextBox1.Text = ""; this.Text = "无标题-记事本";这两段代码是起到什么作用呢?
这些代码是我的老师写的,我没看懂!麻烦你了

追答public void SaveInfo(string path)
{
    File.WriteAllText(save.FileName, richTextBox1.Text);
    richTextBox1.Text = "";  //保存完成后把richTextBox1控件值清空
    this.Text = "无标题-记事本"; //Form窗体的标题改成无标题-记事本
}

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-08-20
private void SaveInfo(string fn)
{
try
{
richTextBox1.SaveFile(fn, RichTextBoxStreamType.PlainText);
richTextBox1.Modified=false;
MessageBox.Show("文件" +fn+ "保存成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch
{
MessageBox.Show("文件" +fn+ "保存失败", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}

第2个回答  2013-08-20
你在类中加一个方法或者加一个定义 public static string(根据的你的程序或者是int bool intprt) SaveInfo追问

这位大侠,我需要的就是这个SaveInfo的方法的代码,就是如何编写这段代码?求教!在线等你!

追答

public void SaveInfo(save.FileName);
{
//这里面你得根据你的程序自己写一下
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
if ((mysavefile = saveFileDialog1.OpenFile()) != null)
{
// Code to write the stream goes here.
//mysavefile.Write(this.listBox1.Items.ToString());
mysavefile.Close();
//保存播放列表
StreamWriter sw = new StreamWriter(saveFileDialog1.FileName);
this.lstFileList.SelectedIndex = 0;
for (int i = 1; i < this.lstFileList.Items.Count; i++)
{
sw.WriteLine(this.lstFileList.SelectedItem.ToString());
this.lstFileList.SelectedIndex += 1;
}
sw.Close();
}
}
}
前面的代码仅供你参考,我也是小菜鸟主要这段程序确实看不出来

第3个回答  2013-08-20
建议你到CSDN C#模块发问,那里有很多大侠会帮你解答的,希望对你有用
第4个回答  2013-08-20
在类里加一个SaveInfo的方法,然后在方法内添加对应的操作就行了。追问

这位大侠,我需要的就是这个SaveInfo的方法的代码,在线等你,真的着急,急用!!万分感谢

这个代码如何编写!!求教!!谢谢!!!!

追答

private void button2_Click(object sender, EventArgs e)
{
//创建一个文件流,用以写入或者创建一个StreamWriter
FileStream fs = new FileStream ( "C:\\file.txt" , FileMode.OpenOrCreate , FileAccess.Write ) ;
StreamWriter m_streamWriter = new StreamWriter ( fs ) ;
m_streamWriter.Flush ( ) ; // 使用StreamWriter来往文件中写入内容
m_streamWriter.BaseStream.Seek ( 0 , SeekOrigin.Begin ) ;
// 把richTextBox1中的内容写入文件
m_streamWriter.Write ( richTextBox1.Text) ;
//关闭此文件 m_streamWriter.Flush ( ) ;
m_streamWriter.Close ( ) ;

}

我现在手头没有开发环境,你参看一下这个吧,那个save.FileName应该对应的是这个方法中“C:\\file.txt"部分,这个代码中richTextBox1.Text对应你要保存的文本内容,再把方法名、参数改一下,应该就成了。

相似回答