求助 C#编辑记事本的新建功能
我现在 在做一个仿WINDOWS记事本的程序,菜单中有个新建功能,我的思路是这样: 点击新建后先判断文本框中是否为空,不为空 ,就选择路径先以TXT格式保存,然后在初始化文本框,其中保存那块不知道怎么做;还有我不清楚文本框应该做成 TextBox 还是 RichTextBox 我用的是TextBox,希望高手们 帮我解决下 小弟先谢过了
我写的代码如下:
private void 新建ToolStripMenuItem_Click(object sender, EventArgs e)
{
//把当前文本框的文本赋给str1
string str1 = textBox1.Text;
//判断文本框是否为空,不为空的话先提示是否保存然后在初始化文本框textbox1,
if (str1 != null)
{
SaveFileDialog savefiledialog1 = new SaveFileDialog();
savefiledialog1.InitialDirectory = "D:\\Program Files";
savefiledialog1.Filter = "text file(*.txt)|*.txt|All files(*.*)|*.*";
savefiledialog1.FilterIndex = 1;
savefiledialog1.RestoreDirectory = true;
if (savefiledialog1.ShowDialog() == DialogResult.OK)
{
//MessageBox.Show("保存文件:" + savefiledialog1.FileName);
// textBox1.SaveFile(savefiledialog1.FileName);
}
textBox1.Clear();
this.Text = "无标题-记事本";
}
}
------解决方案--------------------
你需要新建一个bool型变量,记录你的文本是否被修改:
private bool textboxChanged;
再用一个currentFileName 保存文件名。
再在TextBox1的TextChanged里面写:
textboxChanged = true;
你应该先写好另存功能
C# codeprivate void 另存为ToolStripMenuItem_Click(object sender, EventArgs e)
{
FileSaveDialog dlg = new FileSaveDialog();
if (dlg.ShowDialog() == DialogResult.OK)
{
currentFileName = dlg.FileName;
保存ToolStripMenuItem_Click(this, new EventArgs());
}
}