【问题标题】:C# use textbox as filename for streamwriterC# 使用文本框作为 streamwriter 的文件名
【发布时间】:2019-02-15 03:31:30
【问题描述】:

这是我第一次使用StreamWriter,到目前为止我只知道如何使用指定的文件名保存它。保存时是否可以使用 TextBox 字段中的内容作为文件名?在此我想使用Fname.Text 作为文件名。

我目前所拥有的:

void Save_button1_Click(object sender, EventArgs e)
{
    DialogResult dialogResult = MessageBox.Show("Do you want to save?", "Save", MessageBoxButtons.YesNo);
    if (dialogResult == DialogResult.Yes)
    {
        FileStream file = new FileStream("test.txt", FileMode.OpenOrCreate, FileAccess.Write);
        StreamWriter sw = new StreamWriter(file);
        sw.WriteLine(Fname.Text);
        sw.WriteLine(Lname.Text);
    }
}

【问题讨论】:

  • 是的,将 texbox 字段中的文本抓取到一个变量中,然后将“test.txt”替换为文本框中的字符串变量。
  • "test.txt" 是文本。一个字符串。它不是控制参考
  • 我不清楚问题,您能否描述一下您想要实现的目标。您的 Fname 是文本框名称吗?它是否包含文件名。你想把数据写到哪里
  • 如果您使用的是 WinForms,您应该使用 SaveFileDialog 从用户那里获取文件名。

标签: c#


【解决方案1】:

当然,只需将它用作 FileStream 构造函数中的参数,如下所示:

  void Save_button1_Click(object sender, EventArgs e)
    {
        DialogResult dialogResult = MessageBox.Show("Do you want to save?", "Save", MessageBoxButtons.YesNo);
        if (dialogResult == DialogResult.Yes)
        {
            FileStream file = new FileStream(Fname.Text + ".txt", FileMode.OpenOrCreate, FileAccess.Write);
            StreamWriter sw = new StreamWriter(file);
            sw.WriteLine(Fname.Text);
            sw.WriteLine(Lname.Text);

【讨论】:

  • 我试过 Fname + ".txt" 感觉很愚蠢,不只是添加 .Text 谢谢!
猜你喜欢
  • 1970-01-01
  • 2018-08-24
  • 1970-01-01
  • 2015-09-12
  • 2021-12-09
  • 2016-04-21
  • 2019-09-18
  • 2014-08-14
  • 1970-01-01
相关资源
最近更新 更多