Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从C#中的文本框覆盖现有html文件?_C#_.net_Winforms_Textbox - Fatal编程技术网

如何从C#中的文本框覆盖现有html文件?

如何从C#中的文本框覆盖现有html文件?,c#,.net,winforms,textbox,C#,.net,Winforms,Textbox,我正在尝试创建一个普通的HTML编辑器,它的功能类似于Windows记事本。假设我们已经编写了一个文件并希望保存它。因此,SaveFileDialog出现并询问我们要将其保存到哪里。然后我们修改了它,在记事本中,您通常只需使用Ctrl+S再次保存它。这一次,不会出现SaveFileDialog。换句话说,现有文件已被覆盖。这就是我想要实现的。以下是我目前掌握的代码: private void toolStripButton2_Click(object sender, EventArgs e)

我正在尝试创建一个普通的HTML编辑器,它的功能类似于Windows记事本。假设我们已经编写了一个文件并希望保存它。因此,
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
。保存文件用于所有相关示例和文档