目录选择对话框

目录选择对话框

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;
        }
    }
}

posted on 2004-09-29 11:06  kary  阅读(615)  评论(0编辑  收藏  举报

导航