类似QQ、迅雷等讲究UI体验的软件,都支持在窗口内多处地方拖动窗口,而不必老实巴交的去顶部标题栏拖,这个组件就是让winform也能这样随性拖拽,随性度或更甚。先看效果:

可拖拽的地方包括不限于:
窗体、Panel、GroupBox、TabControl等容器控件的空白区;
菜单栏、工具栏、状态栏等bar的空白区,以及无效项目;
Label、PictureBox、ProgressBar等通常不与鼠标交互的控件;
一切无效控件(Enabled为false);
基本上就是你觉得应该可以拖的地方都可以拖。
用法:
先看公开成员:
//拖拽器开关bool Enabled { get; set; }//排除列表。可向其中添加或移除控件实例,处于列表中的控件不接受拖拽List<Control> ExcludeControls { get; }//事件:准备拖拽时发生,可用e.Cancel = true取消拖拽,e还携带其它信息event EventHandler<FormDraggingCancelEventArgs> Dragging;//事件:拖拽器开关状态改变后event EventHandler EnabledChanged;

