如何从C#中的文本框覆盖现有html文件?
我正在尝试创建一个普通的HTML编辑器,它的功能类似于Windows记事本。假设我们已经编写了一个文件并希望保存它。因此,如何从C#中的文本框覆盖现有html文件?,c#,.net,winforms,textbox,C#,.net,Winforms,Textbox,我正在尝试创建一个普通的HTML编辑器,它的功能类似于Windows记事本。假设我们已经编写了一个文件并希望保存它。因此,SaveFileDialog出现并询问我们要将其保存到哪里。然后我们修改了它,在记事本中,您通常只需使用Ctrl+S再次保存它。这一次,不会出现SaveFileDialog。换句话说,现有文件已被覆盖。这就是我想要实现的。以下是我目前掌握的代码: private void toolStripButton2_Click(object sender, EventArgs e)
SaveFileDialog
出现并询问我们要将其保存到哪里。然后我们修改了它,在记事本中,您通常只需使用Ctrl+S
再次保存它。这一次,不会出现SaveFileDialog
。换句话说,现有文件已被覆盖。这就是我想要实现的。以下是我目前掌握的代码:
private void toolStripButton2_Click(object sender, EventArgs e)
{
SaveFileDialog sfd = default(SaveFileDialog);
string location = null;
string sourcecode = textBox1.Text;
sfd = new SaveFileDialog();
location = sfd.FileName;
if (string.IsNullOrEmpty(sfd.FileName))
{
saveAsToolStripMenuItem_Click(sender, e);
}
else
{
File.Copy(sfd.FileName, Path.Combine(location, Path.GetFileName(sfd.FileName)), true);
}
}
你所问的与文本框或HTML无关。您需要跟踪文件的状态。可以通过将文件的位置存储在字段或属性中来实现。如果该字段为空,则表示该文件是新文件,您需要加载“打开<代码>另存为代码>”。否则,只需将内容写入原始位置,例如使用
File.WriteAllText()
File.Copy
与savingPS无关:不要将“保存”功能放在事件处理程序中。它不是一个事件处理程序。这是一个单独的方法,可以调用它来响应许多不同的事件。谢谢分享这个想法。我尝试添加一个函数文件;但它仍然没有工作。如果有人能重做我的代码,我将不胜感激。也没有神奇的解决办法。您必须编写将数据写入文件、存储路径等的代码。您发布的代码片段与您试图实现的目标几乎没有关系。几年前,文本编辑器作为教程非常流行。停止寻找神奇的解决方案,想想该如何构建程序,以及它应该做什么。或者简单地搜索教程,例如谷歌搜索SaveFileDialog
。保存文件用于所有相关的示例和文档。您所要求的与文本框或HTML无关。您需要跟踪文件的状态。可以通过将文件的位置存储在字段或属性中来实现。如果该字段为空,则表示该文件是新文件,您需要加载“打开<代码>另存为代码>”。否则,只需将内容写入原始位置,例如使用File.WriteAllText()
File.Copy
与savingPS无关:不要将“保存”功能放在事件处理程序中。它不是一个事件处理程序。这是一个单独的方法,可以调用它来响应许多不同的事件。谢谢分享这个想法。我尝试添加一个函数文件;但它仍然没有工作。如果有人能重做我的代码,我将不胜感激。也没有神奇的解决办法。您必须编写将数据写入文件、存储路径等的代码。您发布的代码片段与您试图实现的目标几乎没有关系。几年前,文本编辑器作为教程非常流行。停止寻找神奇的解决方案,想想该如何构建程序,以及它应该做什么。或者简单地搜索教程,例如谷歌搜索SaveFileDialog
。保存文件用于所有相关示例和文档