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