我在百度上面搜了一下
几乎全部是这个办法:
/*
using System.IO;
using System.Windows.Forms.Design;;//加载System.Design.dll的.Net API
*/
public class FolderDialog : FolderNameEditor
{
FolderNameEditor.FolderBrowser fDialog = new
System.Windows.Forms.Design.FolderNameEditor.FolderBrowser();
public FolderDialog()
{
}
public DialogResult DisplayDialog()
{
return DisplayDialog("请选择一个文件夹");
} public DialogResult DisplayDialog(string description)
{
fDialog.Description = description;
return fDialog.ShowDialog();
}
public string Path
{
get
{
return fDialog.DirectoryPath;
}
}
~FolderDialog()
{
fDialog.Dispose();
}
}
FolderDialog aa = new FolderDialog();
aa.DisplayDialog();
if(aa.ShowDialog()==DialogResult.OK)
{
%%1 = aa.SelectedPath;
}
于是我照着这个来做
可是奇怪了
我的System.Windows.Forms.Design下面对没有FolderNameEditor这个类
我用的是VS2008
百思不得其解啊
???
几乎全部是这个办法:
/*
using System.IO;
using System.Windows.Forms.Design;;//加载System.Design.dll的.Net API
*/
public class FolderDialog : FolderNameEditor
{
FolderNameEditor.FolderBrowser fDialog = new
System.Windows.Forms.Design.FolderNameEditor.FolderBrowser();
public FolderDialog()
{
}
public DialogResult DisplayDialog()
{
return DisplayDialog("请选择一个文件夹");
} public DialogResult DisplayDialog(string description)
{
fDialog.Description = description;
return fDialog.ShowDialog();
}
public string Path
{
get
{
return fDialog.DirectoryPath;
}
}
~FolderDialog()
{
fDialog.Dispose();
}
}
FolderDialog aa = new FolderDialog();
aa.DisplayDialog();
if(aa.ShowDialog()==DialogResult.OK)
{
%%1 = aa.SelectedPath;
}
于是我照着这个来做
可是奇怪了
我的System.Windows.Forms.Design下面对没有FolderNameEditor这个类
我用的是VS2008
百思不得其解啊
???
没有的时候下面会有个小等号点那个会有引用的方法。选择添加就可以了
OpenFileDialog ofd = new OpenFileDialog();
ofd.Title = "Excel文件";
ofd.FileName = "";
//为了获取特定的系统文件夹,
//可以使用System.Environment类的静态方法GetFolderPath()。该方法接受一个Environment.SpecialFolder枚举,其中可以定义要返回路径的哪个系统目录
ofd.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
ofd.Filter = "Excel文件(*.xlsx)|*xlsx";
ofd.ValidateNames = true;//文件有效性验证ValidateNames,验证用户输入是否是一个有效的windows文件名
ofd.CheckFileExists = true;//验证路径有效性
ofd.CheckPathExists = true;//验证文件有效性 string strName = this.txtPutInFile.Text;
//或者直接用微软自带的
//添加一个openFileDialog1控件
this.openFileDialog1.FileName = this.txtPutInFile.Text;
if (this.openFileDialog1.ShowDialog(this) == DialogResult.OK)
{
this.txtPutInFile.Text = this.openFileDialog1.FileName;
}
就是照这样做才发现此命名空间下面根本没有那个类
这句话是什么意思?:所以我们要先在解决方案中添加新的引用(reference)System.Design
但是VS2008根本识别不了这个FolderNameEditor类,也就是没有这个类
而且工具箱 -> 对话框 分组有这个组件吧~