openFileDialog中,我想在点击确定时,获得文件夹的路径,而不是文件的路径,该用什么属性呢? string path=openFileDialog.FileName-"abc.txt"; 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 先用index方法找到最后一个"\"在哪里,然后用substring取出前面的路径就好了 string name=@"c:\dext\aaa\aaaa\d.txt"; int lon=name.LastIndexOf("\\"); name=name.Substring(1,lon-1); MessageBox.Show(name); string path = openFileDialog.FileName;path = path.SubStr(0, path.LastIndexOf("\\"); OpenFileDialog ofd = new OpenFileDialog();ofd.InitialDirectory = Environment.CurrentDirectory;ofd.Filter = "txt files (*.ini)|*.ini|All files (*.*)|*.*";ofd.FilterIndex = 1;ofd.Title = "Open Calling Table File (.ini):";ofd.RestoreDirectory = false;if(ofd.ShowDialog() == DialogResult.OK){ // Show in TextBox this.txtFilePath.Text = ofd.FileName; // Show in ListBox this.lbCallTable.BeginUpdate(); string buffer; StreamReader myFile = File.OpenText(this.txtFilePath.Text); while ((buffer = myFile.ReadLine()) != null) { this.lbCallTable.Items.Add(buffer); } this.lbCallTable.EndUpdate();} 我想楼主的真实意图是想有一个能够获取“路径”的对话框,而 .NET 提供的 OpenFileDialog 只能用来获取“文件”。楼上众位已经提供了从文件名中解析路径名称的方法,这么做从理论上讲没有任何问题。然而,如果用到实际应用程序中,那么你从一个菜鸟用户的角度想一想,用户到底要做什么?其实只是要他选一个路径而已,而非要去选一个文件吗?可惜的是 .NET 没有提供文件夹选择对话框,只能自己通过 Shell API 调用或其他有效的方法实现一个了。具体的实现不是三言二语说得清楚的,请参阅:http://www.codeproject.com/cs/miscctrl/folderbrowser.asp .Net Framework 1.1 中是有文件夹选择对话框的 在C#中禁用文本框的选中功能??? 如何调节silverlight中图片亮度和对比度 DataTable的拆分取值问题 c#计算器怎样共享一个相同事件呢 多线程全局变量问题 高手指点 查询文本框中值为空的数据怎么查 一个Point [ ] 的问题 如何知道数据库是否被修改? C#中哪个类的什么方法可以获得远程文件的大小? .NET高手,请教了 用WebClient上传文件是不是有大下限制,最大能传多大??
int lon=name.LastIndexOf("\\");
name=name.Substring(1,lon-1);
MessageBox.Show(name);
path = path.SubStr(0, path.LastIndexOf("\\");
ofd.InitialDirectory = Environment.CurrentDirectory;
ofd.Filter = "txt files (*.ini)|*.ini|All files (*.*)|*.*";
ofd.FilterIndex = 1;
ofd.Title = "Open Calling Table File (.ini):";
ofd.RestoreDirectory = false;
if(ofd.ShowDialog() == DialogResult.OK)
{
// Show in TextBox
this.txtFilePath.Text = ofd.FileName;
// Show in ListBox
this.lbCallTable.BeginUpdate();
string buffer;
StreamReader myFile = File.OpenText(this.txtFilePath.Text);
while ((buffer = myFile.ReadLine()) != null)
{
this.lbCallTable.Items.Add(buffer);
}
this.lbCallTable.EndUpdate();
}
http://www.codeproject.com/cs/miscctrl/folderbrowser.asp