using System;
using System.Windows.Forms;
using System.Windows.Forms.Design;
namespace Whxbb.Windows.Forms
{
/// <summary>
/// 目录选择对话框。
/// </summary>
public class ChooseDirectoryDialog : FolderNameEditor
{
private FolderBrowser _browser;
private string _description = "Choose Directory";
public string Description
{
set { _description = value; }
get { return _description; }
}
private string _choosedPath = string.Empty;
/// <summary>
/// 被选择的目录。
/// </summary>
public string ChoosedPath
{
get { return _choosedPath; }
}
private string _defaultPath = string.Empty;
/// <summary>
/// 默认路径。
/// </summary>
public string DefaultPath
{
get { return _defaultPath; }
set
{
_browser.StartLocation = FolderBrowserFolder.MyComputer;
_defaultPath = value;
}
}
/// <summary>
/// 无参数构造方法。
/// </summary>
public ChooseDirectoryDialog()
{
_browser = new FolderBrowser();
}
/// <summary>
/// 指定对话框描述创建一个对话框实例。
/// </summary>
/// <param name="dialogTitle"></param>
public ChooseDirectoryDialog(string description) : this()
{
this._description = description;
}
/// <summary>
/// 显示对话框。
/// </summary>
/// <returns></returns>
public DialogResult ShowDialog()
{
_browser.Description = this.Description;
_browser.Style = FolderBrowserStyles.ShowTextBox;
_browser.StartLocation = FolderBrowserFolder.MyComputer;
DialogResult result = _browser.ShowDialog();
if (result == DialogResult.OK)
{
_choosedPath = _browser.DirectoryPath;
}
else
{
_choosedPath = String.Empty;
}
return result;
}
}
}