首页
学习
活动
专区
圈层
工具
发布

c#记事本
EN

Stack Overflow用户
提问于 2009-05-18 07:38:00
回答 5查看 2.3K关注 0票数 2

我是编程新手,我开始创建一个简单的记事本,只有4个按钮(打开,保存,新建和字体)。

如果我打开或保存,我得到一个错误:这是我的代码:

代码语言:javascript
复制
        //Declare save as a new SaveFileDailog
        SaveFileDialog save = new SaveFileDialog();
        //Declare filename as a String equal to the SaveFileDialog's FileName
        String filename = save.FileName;
        //Declare filter as a String equal to our wanted SaveFileDialog Filter
        String filter = "Text Files|*.txt|All Files|*.*";
        //Set the SaveFileDialog's Filter to filter
        save.Filter = filter;
        //Set the title of the SaveFileDialog to Save
        save.Title = "Save";
        //Show the SaveFileDialog
        if (save.ShowDialog(this) == DialogResult.OK)
        {
            //Write all of the text in txtBox to the specified file
            System.IO.File.WriteAllText(filename, textBox1.Text);
        }
        else
        {
            //Return
            return;
        }//Declare save as a new SaveFileDailog
        SaveFileDialog save = new SaveFileDialog();
        //Declare filename as a String equal to the SaveFileDialog's FileName
        String filename = save.FileName;
        //Declare filter as a String equal to our wanted SaveFileDialog Filter
        String filter = "Text Files|*.txt|All Files|*.*";
        //Set the SaveFileDialog's Filter to filter
        save.Filter = filter;
        //Set the title of the SaveFileDialog to Save
        save.Title = "Save";
        //Show the SaveFileDialog
        if (save.ShowDialog(this) == DialogResult.OK)
        {
            //Write all of the text in txtBox to the specified file
            System.IO.File.WriteAllText(filename, textBox1.Text);
        }
        else
        {
            //Return
            return;
        }

有什么想法吗?感谢并致以问候

ooopss我忘记写错误了,对此我很抱歉:这是错误:“错误: ArgumentException未处理。空路径名不合法”

如果我打开一个文本文件,就会得到这样的结果。然后突出显示这一行代码: textBox1.Text=System.IO.File.ReadAllText(filename,System.Text.Encoding.Default);

如果我保存的话什么都不会发生。

谢谢

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-05-18 07:42:29

我希望在用户使用该对话框之后,您应该正在读取文件名:

代码语言:javascript
复制
System.IO.File.WriteAllText(save.FileName, textBox1.Text);

还有- SaveFileDialogIDisposable,所以你应该是"using“它...

代码语言:javascript
复制
using (SaveFileDialog save = new SaveFileDialog())
{
    // your code that involves "save"
}
票数 7
EN

Stack Overflow用户

发布于 2009-05-18 07:44:22

尝试移动这条线

代码语言:javascript
复制
String filename = save.FileName;

在IF块内部。在用户设置SaveDialog的属性之前,您正在为filename赋值。您需要了解,此行不会在您的filename变量和对话框的FileName属性之间创建永久链接。

票数 2
EN

Stack Overflow用户

发布于 2009-05-18 07:42:51

在调用ShowDialog之后,您可以从SaveFileDialog 获取文件名。您正在预先设置文件名。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/876603

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档