选择文件c#并获取目录
本文关键字:获取 文件 选择 | 更新日期: 2023-09-27 18:01:31
我试图打开一个文件对话框,以便用户可以选择访问数据库的位置。有人能解释如何添加一个文件对话框时,单击按钮,以及如何将用户选择转换为包含文件目录的字符串(c:'abc'dfg'1234.txt)?
谢谢
由于您没有说明您使用的技术(WPF或WinForms),我假设您使用的是WinForms。在这种情况下,在代码中使用OpenFileDialog
。对话框关闭后,您可以使用FileName
属性获得所选的完整文件名。
在我上面链接的文档页面上有一个如何使用它的示例,我稍微修改了一下,因为您想要文件名,而不是流:
private void button1_Click(object sender, System.EventArgs e)
{
OpenFileDialog openFileDialog1 = new OpenFileDialog();
openFileDialog1.InitialDirectory = "c:''" ;
openFileDialog1.Filter = "Database files (*.mdb, *.accdb)|*.mdb;*.accdb" ;
openFileDialog1.FilterIndex = 0;
openFileDialog1.RestoreDirectory = true ;
if (openFileDialog1.ShowDialog() != DialogResult.OK)
{
return;
}
string selectedFileName = openFileDialog1.FileName;
//...
}
根据你之前的问题,我假设你正在使用WinForms。您可以使用OpenFileDialog
类来实现此目的。请参阅下面的代码,假设您的按钮id为button1
,它将在按钮Click
事件上运行:
private void button1_Click(object sender, System.EventArgs e)
{
OpenFileDialog openFileDialog1 = new OpenFileDialog();
openFileDialog1.InitialDirectory = "c:''";
openFileDialog1.Filter = "Access files (*.accdb)|*.accdb|Old Access files (*.mdb)|*.mdb";
openFileDialog1.FilterIndex = 2;
openFileDialog1.RestoreDirectory = true;
if(openFileDialog1.ShowDialog() == DialogResult.OK)
{
var path = openFileDialog1.FileName;
}
}
更多信息。
假设您实际上有一个带有button (button1)…
在构造函数中钩子到button1的click事件
...
button1.Click += button1_Click;
...
然后定义处理函数并随意使用System.Windows.Forms.OpenFileDialog
void button1_Click(object sender, EventArgs e)
{
string oSelectedFile = "";
System.Windows.Forms.OpenFileDialog oDlg = new System.Windows.Forms.OpenFileDialog();
if (System.Windows.Forms.DialogResult.OK == oDlg.ShowDialog())
{
oSelectedFile = oDlg.FileName;
// Do whatever you want with oSelectedFile
}
}
其实很简单
namespace YourProgram
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
string path = "";
//Declare the File Dialog
OpenFileDialog ofd = new OpenFileDialog();
private void button1_click(object sender, EventArgs e)
{
if (odf.ShowDialog() == DialogResult.OK)
{
path = ofd.FileName;
}
}
}
}