類似QQ、迅雷等講究UI體驗(yàn)的軟件,都支持在窗口內(nèi)多處地方拖動窗口,而不必老實(shí)巴交的去頂部標(biāo)題欄拖,這個組件就是讓winform也能這樣隨性拖拽,隨性度或更甚。先看效果:
可拖拽的地方包括不限于:
窗體、Panel、GroupBox、TabControl等容器控件的空白區(qū);
菜單欄、工具欄、狀態(tài)欄等bar的空白區(qū),以及無效項(xiàng)目;
Label、PictureBox、ProgressBar等通常不與鼠標(biāo)交互的控件;
一切無效控件(Enabled為false);
基本上就是你覺得應(yīng)該可以拖的地方都可以拖。
用法:
先看公開成員:
//拖拽器開關(guān)bool Enabled { get; set; }//排除列表。可向其中添加或移除控件實(shí)例,處于列表中的控件不接受拖拽List<Control> ExcludeControls { get; }//事件:準(zhǔn)備拖拽時發(fā)生,可用e.Cancel = true取消拖拽,e還攜帶其它信息event EventHandler<FormDraggingCancelEventArgs> Dragging;//事件:拖拽器開關(guān)狀態(tài)改變后event EventHandler EnabledChanged;
延伸閱讀
學(xué)習(xí)是年輕人改變自己的最好方式