如何将文本框值设置为文本文件名

how to set TextBox value as textfile name

如何将文本文件名设置为文本框值?我的保存文件代码是;我尝试添加它但总是报错

const string sPath = @"C:\Users\NET\Desktop\"+textBox1.Text.ToString+ ".txt";
            using(StreamWriter SaveFile = new StreamWriter(sPath))
            for (int a=0;  a<listBox1.Items.Count; a++)
             {
                string line = String.Format("{0},{1}", listBox1.Items[a], listBox2.Items[a]);
                SaveFile.WriteLine(line);

             }
 string sPath = @"C:\Users\NET\Desktop\" + TextBox1.Text + ".txt";
            using (StreamWriter SaveFile = new StreamWriter(sPath))
                for (int a = 0; a < listBox1.Items.Count; a++)
                {
                    string line = String.Format("{0},{1}", listBox1.Items[a], listBox2.Items[a]);
                    SaveFile.WriteLine(line);

                }

我会这样编码:

string path = @"C:\Users\NET\Desktop\";
using(StreamWriter sw = new StreamWriter(path + textBox.Text))
{
    sw.Write("Whatever you want");

    // At the end you should use the .Close() Method
    sw.Close();
}

你有一个路径并添加到你的文本框的文件名。不要忘记在 Texbox 中输入结尾!

你的问题是 你使用 const 你不能做 "Text" + TextBox.Text 因为 TextBox.Text 不是常数。您可以使用 readonly,但您必须将变量声明为 class 变量!

您可以使用 Path 帮助程序 class 提取您的路径目录,然后允许您在末尾附加一个新文件名。

当您的应用程序中的 sPath 不是常量时,这将很有用。

示例:

const string sPath = @"C:\Users\NET\Desktop\deneme.txt";
string newPath = Path.GetDirectoryName(sPath) + Path.DirectorySeparatorChar + textbox1.Text + ".txt";

这也可以扩展为使用原始路径的扩展:

const string sPath = @"C:\Users\NET\Desktop\deneme.txt";

string thePath = Path.GetDirectoryName(sPath) + Path.DirectorySeparatorChar +
                 textbox1.Text +
                 Path.GetExtension(sPath);