新手一个问题

slow_windy 2012-04-20 06:32:04

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;

namespace openfile
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{

}

private void 保存ToolStripMenuItem_Click(object sender, EventArgs e)
{

if (openFileDialog1.FileName != "")
{
StreamWriter a = new StreamWriter(openFileDialog1.FileName);
a.Write(richTextBox1.Text);
a.Close();
// openFileDialog1 = richTextBox1.Text;
}
else
{
// saveFileDialog1.Filter = "文本文件(*.txt)|*.txt|所有文件(*.*)|*.*";


StreamWriter a = new StreamWriter(saveFileDialog1.FileName, true);
a.WriteLine(richTextBox1.Text);
a.Close();
// richTextBox1.Text = string.Empty;

}
}
private void saveFileDialog1_FileOk(object sender, CancelEventArgs e)
{

}

private void 新建ToolStripMenuItem_Click(object sender, EventArgs e)
{
// public static CreateAccessibilityInstance();
// richTextBox1.Text = string.Empty;
// FileInfo crea = new FileInfo("D:\\1.txt");
// crea.Create();
richTextBox1.Text = "";

}

private void 打开ToolStripMenuItem_Click(object sender, EventArgs e)
{
openFileDialog1.Filter = "文本文件(*.txt)|*.txt|所有文件(*.*)|*.*";
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
richTextBox1.Text = string.Empty;
StreamReader b = new StreamReader(openFileDialog1.FileName);
richTextBox1.Text = b.ReadToEnd();
b.Close();
}
}

private void 另存为ToolStripMenuItem_Click(object sender, EventArgs e)
{
if (richTextBox1.Text == string.Empty)
{
MessageBox.Show("不能输入为空");
}
else
{
saveFileDialog1.Filter = "文本文件(*.txt)|*.txt|所有文件(*.*)|*.*";
}
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
StreamWriter a = new StreamWriter(saveFileDialog1.FileName, true);
a.WriteLine(richTextBox1.Text);
a.Close();
// richTextBox1.Text = string.Empty;
}
}
}
}


主要是“保存”功能我很疑惑 使用if (openFileDialog1.FileName != "")这个条件语句,“保存”功能正常使用

如果使用 if (openFileDialog1.ShowDialog() == DialogResult.OK)或者 if (saveFileDialog1.ShowDialog() == DialogResult.OK),功能就变成了“另存为”,无法实现“保存”功能


为什么会出现这种状况啊? 只是改了个if判断而已
...全文
142 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
LOVE_GG 2012-04-21
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

一般保存的流程是这样的:

判断当前的文件名,如果是新建的文件,没有文件名,那么调用另存为,否则直接根据文件名写入文件。
[/Quote]
学习了
orochiheart 2012-04-20
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
一般保存的流程是这样的:

判断当前的文件名,如果是新建的文件,没有文件名,那么调用另存为,否则直接根据文件名写入文件。
[/Quote]
有道理!
threenewbee 2012-04-20
  • 打赏
  • 举报
回复
一般保存的流程是这样的:

判断当前的文件名,如果是新建的文件,没有文件名,那么调用另存为,否则直接根据文件名写入文件。

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧