textbox支持拖拽路径/文件
textbox支持拖拽路径/文件,和双击选择路径/文件
TextBoxHelper类库
public class TextBoxHelper { public TextBoxHelper() { } public void RegisterFileSelect(TextBox txt_SelectFile, string Filter, bool Multiselect) { txt_SelectFile.AllowDrop = true; txt_SelectFile.DragEnter += (sender, e) => { if (e.Data.GetDataPresent(DataFormats.FileDrop)) { e.Effect = DragDropEffects.Link; (sender as Control).Cursor = System.Windows.Forms.Cursors.Arrow; //指定鼠标形状(更好看) } else { e.Effect = DragDropEffects.None; } }; txt_SelectFile.DragDrop += (sender, e) => { string path = ((System.Array)e.Data.GetData(DataFormats.FileDrop)).GetValue(0).ToString(); (sender as TextBox).Text = path; (sender as TextBox).Cursor = System.Windows.Forms.Cursors.IBeam; //还原鼠标形状 }; txt_SelectFile.DoubleClick += (sender, e) => { OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.Multiselect = Multiselect; if (!String.IsNullOrEmpty(Filter)) openFileDialog.Filter = Filter; if (openFileDialog.ShowDialog() == DialogResult.OK) { (sender as TextBox).Text = openFileDialog.FileName; } }; } /// <summary> /// 选择文件夹 /// </summary> /// <param name="txt_RootPath"></param> /// <param name="IniConfig"></param> public void RegisterFolderSelect(TextBox txt_RootPath) { txt_RootPath.AllowDrop = true; txt_RootPath.DragEnter += (sender, e) => { if (e.Data.GetDataPresent(DataFormats.FileDrop)) { e.Effect = DragDropEffects.Link; (sender as Control).Cursor = System.Windows.Forms.Cursors.Arrow; //指定鼠标形状(更好看) } else { e.Effect = DragDropEffects.None; } }; txt_RootPath.DragDrop += (sender, e) => { string path = ((System.Array)e.Data.GetData(DataFormats.FileDrop)).GetValue(0).ToString(); (sender as TextBox).Text = path; (sender as TextBox).Cursor = System.Windows.Forms.Cursors.IBeam; //还原鼠标形状 }; txt_RootPath.DoubleClick += (sender, e) => { FolderBrowserDialog openFileDialog = new FolderBrowserDialog(); if (openFileDialog.ShowDialog() == DialogResult.OK) { (sender as TextBox).Text = openFileDialog.SelectedPath; } }; } }
GarsonZhang www.yesdotnet.com
版权声明:本文为YES开发框架网发布内容,转载请附上原文出处连接
CommonCode YES开发框架