本文共 2086 字,大约阅读时间需要 6 分钟。
我们选择文件可以用 OpenFileDialog ,但是文件夹有两种方法。 法一:
用C#的FolderNameEditor类的子类FolderBrowser类来实现获取浏览文件夹对话框的功能。下面来看看具体是怎么实现的。 首先新建一个winform的项目,再新建一个类文件(File->AddNewItem->Class)。 因为FolderNameEditor是在System.Windows.Forms.Design命名空间下的,此命名空间位于动态链接库system.design.dll,所以我们要先在解决方案中添加新的引用(reference)System.Design。然后在代码中添加: using System.Windows.Forms.Design; 接着,我们新建一个FolderDialog类,此类从FolderNameEditor类继承,在此类中新建一个FolderBrowser类的实例。DisplayDialog(string description)函数用于设置实例fDialog的属性,并且显示浏览文件夹对话框。为了取得文件夹的路径,设置一个Path属性,返回选取文件夹的路径。
01 using System; 02 using System.Collections.Generic; 03 using System.Linq; 04 using System.Text; 05 using System.Windows.Forms.Design; 06 using System.Windows.Forms; 07 08 namespace lnk 09 { 10 class FolderDialog : FolderNameEditor 11 { 12 FolderBrowser fDialog = new FolderBrowser(); 13 public FolderDialog() 14 { 15 } 16 public DialogResult DisplayDialog() 17 { 18 return DisplayDialog("确定你的文件夹路径!!"); 19 } 20 public DialogResult DisplayDialog(string description) 21 { 22 fDialog.Description = description; 23 return fDialog.ShowDialog(); 24 } 25 public string Path 26 { 27 get 28 { 29 return fDialog.DirectoryPath; 30 } 31 } 32 ~FolderDialog() 33 { 34 fDialog.Dispose(); 35 } 36 37 } 38 }
法二:
工具栏里面有一个FolderBrowserDialog控件,在winform中添加FolderBrowserDialog控件。然后在添加一个按钮。和一个label标签。
双击按钮添加代码
FolderBrowserDialog.ShowDialog(); label1.Text = BrowserDialog.SelectedPath;
然后运行!
此时点击按钮。就会弹出对话框。提示用户选择文件夹。选好后确定。用户选的地址就显示在了label中了!
/// <summary>
/// 选择保存htm文件的文件夹
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button2_Click(object sender, EventArgs e)
{
FolderBrowserDialog folderBrowserDialog1 = new FolderBrowserDialog();
folderBrowserDialog1.Description = "请选择保存htm文件的文件夹";
//folderBrowserDialog1.ShowNewFolderButton = true;
//folderBrowserDialog1.RootFolder = Environment.SpecialFolder.Personal;
DialogResult result = folderBrowserDialog1.ShowDialog();
if (result == DialogResult.OK)
{
string folderName = folderBrowserDialog1.SelectedPath;
if (folderName != "")
{
textBox1.Text = folderName;
SaveHtmPath_EXCEL = textBox1.Text;
}
}
} 转载地址:http://vwrmb.baihongyu.com/