【问题标题】:how to get file path in textbox using windows form application?如何使用 Windows 窗体应用程序获取文本框中的文件路径?
【发布时间】:2016-06-15 09:29:01
【问题描述】:

我有一个浏览按钮和一个文本框。在浏览按钮单击事件中,我想浏览文件并将路径名放入文本框中。为此,我使用 openfile 对话框编写了这样的代码。

private void brwsbtn_Click(object sender, EventArgs e)
        {
            if (openFD.ShowDialog() == DialogResult.OK)
            {
                  textBox1.Text = openFD.FileName;
            }
            textBox1.Text="";
        }

这样我就只能选择文件。如何在文本框中选择和放置文件夹路径?

在我的应用程序中,用户应该能够通过单个浏览按钮选择文件或文件夹。请建议我如何为此编写代码。

注意。请让我知道我们可以在不使用 Windows 形式的 Openfiledialog 的情况下上传文件吗..

【问题讨论】:

  • OpenFileDialog 用于选择文件,而不是文件夹。如果您需要选择一个文件夹,那么有 FolderBrowserDialog
  • 这里我只使用 excel 文件。我只能选择文件,但我不能将文件夹路径放在文本框中。在 win 表单中点击上传按钮时
  • 您必须使用 2 个按钮,一个用于浏览文件,一个用于文件夹。如果您想提取文件夹路径,使用文件对话框很容易。
  • 我想在文本框中单独提取文件路径。

标签: c# c#-4.0


【解决方案1】:

您的代码不会将文件路径添加到文本框,因为您有这一行:

textBox1.Text = "";

自动清线:

textBox1.Text = openFD.FileName;

删除它,您可以将文件路径添加到文本框:

private void brwsbtn_Click(object sender, EventArgs e)
{
    if (openFD.ShowDialog() == DialogResult.OK)
    {
        textBox1.Text = openFD.FileName;
    }
}

如果你只想要文件名(不包括路径),你可以使用:

private void brwsbtn_Click(object sender, EventArgs e)
{
    if (openFD.ShowDialog() == DialogResult.OK)
    {
        textBox1.Text = Path.GetFileName(openFD.FileName);
    }
}

【讨论】:

    【解决方案2】:

    在表单中添加一个 FolderBrowserDialog。然后这样的事情会起作用:

    if (folderBrowserDialog1.ShowDialog() == DialogResult.OK)
       {
          textBox1.Text = folderBrowserDialog1.SelectedPath
       }
    

    你也可以使用你现有的fileDialog来做

    Path.GetDirectoryName(openFD.FileName);
    

    【讨论】:

    • 你好,我只能在 texbox 中获取文件路径,而不是文件夹路径。请指导我
    • 是的,所以使用您现有的代码只需尝试此 Path.GetDirectoryName(openFD.FileName); 或将您的行 textBox1.Text = openFD.FileName; 替换为:textBox1.Text = Path.GetDirectoryName(openFD.FileName); 还添加 Using System.IO 以使用 Path。
    猜你喜欢
    • 1970-01-01
    • 2013-08-08
    • 1970-01-01
    • 1970-01-01
    • 2011-05-20
    • 2010-09-22
    • 1970-01-01
    • 2014-12-03
    • 2013-12-26
    相关资源
    最近更新 更多