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开发框架网发布内容,转载请附上原文出处连接
YES开发框架
下一篇:C#日志Log写入
评论列表

发表评论

评论内容
昵称:
关联文章

textbox支持路径/文件
TextBox支持路径文件
在Winform框架的多文档界面中实现双击子窗口单独弹出或出及回的处理
C# 获得根路径
WPF开发随笔收录-带递增递减按钮TextBox
文件加密技术研究
页面快排插件配置支持图片上传
Python VSCode调试的时候,代码中无法试用相对路径
GIT彻底删除文件以及历史记录
客户端接收文件
C# winform选择dll文件
Web应用程序dll获取当前程序集路径问题
python四种配置文件
TinyMCE 支持的图标列表
html+js上传文件
C# 读取txt文件生成Word文档
雲瑞文件直链分享软件
TinyMCE富文本编辑器 autoLink 插件配置,全角支持
VS调试运行ASP.NET MVC项目,上传静态资源图片404问题,Debug路径
文件或目录损坏且无法读取