예제 #1
0
        private void button1_Click(object sender, EventArgs e)
        {
            BrowseFolderDialogEx sfb = new BrowseFolderDialogEx();

            sfb.SelChanged += sfb_SelChanged;
            sfb.Title       = "Select Folder";
            sfb.BrowseFlags = BrowseFlags.ReturnOnlyFSDirs | BrowseFlags.NewDialogStyle;
            if (sfb.ShowDialog() == DialogResult.OK)
            {
                MessageBox.Show("Selected:" + sfb.FolderPath);
            }
        }
        private String SelectFolder(String sDefaultDir = null)
        {
            if (CommonOpenFileDialog.IsPlatformSupported)
            {
                CommonOpenFileDialog sfd = new CommonOpenFileDialog();
                sfd.IsFolderPicker          = true;
                sfd.AllowNonFileSystemItems = false;

                if (sDefaultDir != null)
                {
                    sfd.DefaultDirectory = sDefaultDir;
                }
                if (sfd.ShowDialog(this.Handle) == CommonFileDialogResult.Ok)
                {
                    return(sfd.FileName);
                }
            }
            else
            {
                BrowseFolderDialogEx fbdx = new BrowseFolderDialogEx();

                fbdx.BrowseFlags = BrowseFlags.EditBox | BrowseFlags.ReturnOnlyFSDirs | BrowseFlags.NewDialogStyle;
                if (!String.IsNullOrEmpty(sDefaultDir))
                {
                    fbdx.Initialized += (ob, eargs) =>
                    {
                        fbdx.SetSelection(sDefaultDir);
                    };
                }
                if (fbdx.ShowDialog(this) == DialogResult.OK)
                {
                    txtPath.Text = fbdx.FolderPath;
                }
            }
            return(null);
        }