【问题标题】:Taking user input from a textbox to create a text file name [closed]从文本框中获取用户输入以创建文本文件名 [关闭]
【发布时间】:2014-02-14 17:42:33
【问题描述】:

我正在使用 Visual Studio 2013 和 C#

我目前有一个表单,除其他项目外,还有一个文本框供用户输入 ID 号。我希望能够“获取”这个数字并创建一个以 ID 号作为文件名的文本文件。

我已经能够使用 OpenFileDialog 和 Streamwriter 写入文件,但这需要用户单击“保存位置”按钮并浏览到文件位置,然后输入他们想要创建的文件的文本。

我宁愿让程序根据 ID 号创建 .txt 文件,这样他们就可以输入他们的 ID,然后按 Enter 键启动程序。

这可能吗?

【问题讨论】:

  • @Goose 说了什么。如果您希望他们选择一个文件夹(但仍会自动创建文件名),请查看FolderBrowserDialog
  • 谢谢@Goose 我以为我在发布我的问题之前已经搜索了其他答案。该答案的一部分肯定有助于我的查询。
  • 只是想知道为什么有人反对我的问题。缺点是“这个问题没有显示任何研究工作;不清楚或没有用” 我写的事实我已经在使用 Streamwriter 和 OpenFileDialog 表明我已经自己尝试过这个。如果问题不清楚,这里有一个评论区要求澄清。这个问题显然很有用,因为通过问它,我已经能够解决问题。如果您要否决某人的问题,礼貌的做法是说明您认为应该否决的原因。

标签: c# winforms textbox streamwriter


【解决方案1】:

是的,这是可能的,而且做起来很简单。如果您想使用您的StreamWriter,只需将我的File.WriteAllText 替换为您的StreamWriter 代码即可。

button_click_handler(fake args)
{
     string fileName = MyTextBox.Text;
     File.WriteAllText(basePath + fileName, "file contents");
}

【讨论】:

  • 所以如果文件不存在则创建文件,如果不存在则添加?
  • @smokeAndMirrors 如果文件在那里,它会覆盖文件。无论如何它都会写。
【解决方案2】:

当然可以。您的问题中唯一不清楚的一点是您要创建此文本文件的位置以及要在其中存储的内容。

 string fileName = txtForFileName.Text;
 // create a path to the MyDocuments folder
 string docPath = Environment.GetFolderPath(Environment.SpecialFolders.MyDocuments);
 // Combine the file name with the path
 string fullPath = Path.Combine(docPath, fileName);

 // Note that if the file exists it is overwritten
 // If you want to APPEND then use: new StreamWriter(fullPath, true)
 using(StreamWriter sw = new StreamWriter(fullPath))
 {
    sw.WriteLine("Hello world");
 }

我认为查看有关 Common I/O Tasks 的 MSDN 页面您会发现非常有用

【讨论】:

    【解决方案3】:

    有很多方法可以做到这一点。

     string thepath = String.Format("{0}{1}{2}","C:\\PutDestinationHere\\",idTextBox.text,".txt");
    
     using(StreamWriter writer = new StreamWriter(thepath))
      {
         writer.WriteLine();
      }
    

    【讨论】:

      猜你喜欢
      • 2021-05-26
      • 2022-08-12
      • 2020-08-19
      • 2012-10-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-02
      相关资源
      最近更新 更多