在文件路径字段上,我想捕获目录路径,例如:

textbox1.Text = directory path

任何人?

有帮助吗?

解决方案 2

嗯,我使用的是 VS 2008 SP1。这就是我所需要的:

private void button1_Click(object sender, EventArgs e)
{
    FolderBrowserDialog profilePath = new FolderBrowserDialog();

    if (profilePath.ShowDialog() == DialogResult.OK)        
    {
        profilePathTextBox.Text = profilePath.SelectedPath;
    }
    else
    {
        profilePathTextBox.Text = "Please Specify The Profile Path";
    }
}

其他提示

如果您希望用户选择文件夹,则可以使用FolderBrowserDialog 类。

http://msdn.microsoft.com/en-us/library/system.windows.forms.folderbrowserdialog.aspx

DialogResult result = folderBrowserDialog1.ShowDialog();
if (result.Equals(get_DialogResult().OK)) {
    textbox1.Text = folderBrowserDialog1.get_SelectedPath();
}

如果您只想从完整路径获取目录,您可以这样做:

textbox1.Text = Path.GetDirectoryName(@"c:\windows\temp\myfile.txt");

这会将文本属性设置为“c:\windows emp\”

如果您不想要一个可怕的、非用户友好的对话框*,请尝试 Ookii.Dialogs 或查看其他答案 如何配置 OpenFileDialog 来选择文件夹?. 。我认为 Ookii 的唯一缺点是它需要 .NET 4 Full,而不仅仅是 Client Profile。但源代码已包含在下载中,因此我将继续研究它。可惜该许可证不是 LGPL 或类似许可证......

也可以看看: 带有文本按钮的 WinForms 消息框

*FolderBrowserDialog 如下所示:

Ugly, unfriendly folder browser dialog

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top