给你一个我的类,就是实现你要的功能的。using System;
using System.Windows.Forms;
using System.Windows.Forms.Design;namespace BackupCenter
{
/// <summary>
/// 本地目录搜索对话框类
/// </summary>
public class LocalDirDlg : FolderNameEditor
{
FolderNameEditor.FolderBrowser fDialog = new System.Windows.Forms.Design.FolderNameEditor.FolderBrowser();
public LocalDirDlg()
{
// 
// TODO: 在此处添加构造函数逻辑
//
} public DialogResult DisplaySourceDialog()
{
return DisplayDialog("请选择源目录");
} public DialogResult DisplayTargetDialog()
{
return DisplayDialog("请选择目标目录");
} public DialogResult DisplayDialog(string description)
{
fDialog.Description = description;
return fDialog.ShowDialog();
} /// <summary>
/// 获得当前路径
/// </summary>
public string Path
{
get
{
return fDialog.DirectoryPath;
}
}
}
}

解决方案 »

  1.   

    TO: dev_uoboy(达克·秀男依达) 
    为什么我在System.Windows.Forms.Design 下面找不到FolderNameEditor??谢谢!
      

  2.   

    You can use Shell32.dll.
    1.Add Reference "Shell32.dll" which is under "C:\windows\system32";
    2.Add following code:Using Shell32;Shell32.Shell shell = new Shell32.Shell();
    Shell.BrowseFolder(...);
    ....
      

  3.   

    怎么会找不到呢??你加入了引用么?如果没有加入System.DirectoryServices.dll和System.Drawing.dll当然是不行的。
      

  4.   

    Use Interop To Build FolderBrowser Dialog Control 
    http://www.pardesiservices.com/softomatix/FolderBrowser.asp
      

  5.   

    加入引用
    using System;
    using System.Windows.Forms;
    using System.Windows.Forms.Design;namespace BackupCenter
    {
    /// <summary>
    /// 本地目录搜索对话框类
    /// </summary>
    public class LocalDirDlg : FolderNameEditor
    {
    FolderNameEditor.FolderBrowser fDialog = new System.Windows.Forms.Design.FolderNameEditor.FolderBrowser();
    public LocalDirDlg()
    {
    // 
    // TODO: 在此处添加构造函数逻辑
    //
    } public DialogResult DisplaySourceDialog()
    {
    return DisplayDialog("请选择源目录");
    } public DialogResult DisplayTargetDialog()
    {
    return DisplayDialog("请选择目标目录");
    } public DialogResult DisplayDialog(string description)
    {
    fDialog.Description = description;
    return fDialog.ShowDialog();
    } /// <summary>
    /// 获得当前路径
    /// </summary>
    public string Path
    {
    get
    {
    return fDialog.DirectoryPath;
    }
    }
    }
    }