一道C#程序设计题,请各位高手帮忙!

用C#模拟记事本保存程序(附程序);如何在修改记事本的内容后自动保存而不提示保存对话框,还需要添加什么代码!在线等!privatevoid保存SToolStripMenu... 用C#模拟记事本保存程序(附程序);如何在修改记事本的内容后自动保存而不提示保存对话框,还需要添加什么代码!在线等!

private void 保存SToolStripMenuItem_Click(object sender, EventArgs e)
{
try
{
saveFileDialog1.Filter = "文本文件|*.txt|word文档|*.doc";
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
StreamWriter sw = new StreamWriter(saveFileDialog1.FileName,false,Encoding.GetEncoding("gb2312"));
for (int i = 0; i < richTextBox1.Lines.Length; i++)
{
sw.Write(richTextBox1.Lines[i]);
sw.Write("\r\n");
}
this.Text = saveFileDialog1.FileName;
sw.Close();
richTextBox1.Text = string.Empty;
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
展开
 我来答
liuxilink
2013-08-27 · TA获得超过132个赞
知道小有建树答主
回答量:224
采纳率:0%
帮助的人:225万
展开全部
string txtSrc="test.text"; //需要先设置保存路径及文件名

private void 保存SToolStripMenuItem_Click(object sender, EventArgs e)
{
try
{
StreamWriter sw = new StreamWriter(txtSrc,false,Encoding.GetEncoding("gb2312"));
for (int i = 0; i < richTextBox1.Lines.Length; i++)
{
sw.Write(richTextBox1.Lines[i]);
sw.Write("\r\n");
}
this.Text = src;
sw.Close();
richTextBox1.Text = string.Empty;

}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}

中间去掉了 if (saveFileDialog1.ShowDialog() == DialogResult.OK)

saveFileDialog就是为了设置保存路径,你提前设置好就不需要再设置,也就不会弹出提示框了。
更多追问追答
追问
这位大侠,我照你的方法试了一下,保存对话框是没有了,但是文件也保存不了了,这是为什么呢?
追答
不是保存不了了,是保存的路径变了,你到你的程序的目录下的bin/debug文件夹下看看,应该是保存到那里了。
wlingfeng
2013-08-27 · TA获得超过119个赞
知道小有建树答主
回答量:110
采纳率:0%
帮助的人:130万
展开全部
StreamWriter sw = new StreamWriter(saveFileDialog1.FileName,false,Encoding.GetEncoding("gb2312"));
for (int i = 0; i < richTextBox1.Lines.Length; i++)
{
sw.Write(richTextBox1.Lines[i]);
sw.Write("\r\n");
}
this.Text = saveFileDialog1.FileName;
sw.Close();
richTextBox1.Text = string.Empty;
把这段独立成一个方法,然后在需要自动保存的时候调用即可。自动保存可每隔一定的时间检测,内容是否发生变化,若发生变化就保存,也可以监听编辑器的文本修改事件,若发生,就调用上面这个方法。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
quietpet
2013-08-27
知道答主
回答量:23
采纳率:0%
帮助的人:18.8万
展开全部
System.IO.StreamWriter f = new System.IO.StreamWriter(saveFileDialog1.FileName, false, System.Text.Encoding.GetEncoding("gb2312"));
for (int i = 0; i < richTextBox1.Lines.Length; i++)
{
f.Write(richTextBox1.Lines[i]);
f.Write("\r\n");
}
f.Close();
追问
这个我试了你的代码,还是不好使。。。。求教 !
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ghotos
2013-08-27 · TA获得超过280个赞
知道小有建树答主
回答量:435
采纳率:0%
帮助的人:362万
展开全部
是否修改过可以设一个bool值的全局变量,只要有textbox的change事件,就设为已修改,关闭的时候判断一下就可以了。
至于直接保存在打开文件时候的路径的话,也是将打开文件的路径保存在一个全局的String变量里,如果这变量不为空的话,就可以直接保存(为了安全可以判断下文件是否存在)。如果是另存的话再打开SaveFileDialog。
追问
这位大师,就是你这种想法,我也有这种想法,就是不会编写代码啊!!!我都急死了!!求解啊!!求代码!!在线等
追答

我晕,开了个会,貌似来晚了,随便写了个,稍微有一点问题,发上来大家瞅瞅吧


已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tj12haha21
2013-08-27 · 超过28用户采纳过TA的回答
知道答主
回答量:95
采纳率:0%
帮助的人:76.8万
展开全部
你用saveFileDialog选择文件路径当然会弹出选择窗体啊,不想要提示就直接读取你打开文件时的路径进行保存就好了啊
追问
请问如何直接读取你打开文件时的路径进行保存呢?能举个例子吗?
追答
你打开时应该也用了openFileDialog了吧? 用完了之后别释放直接保存时还继续读取openFileDialog里面存着的路径不就完了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式