Listbox之間互相拖拽功能

2021-08-18 13:18:34 字數 1842 閱讀 3710

新建乙個winform。拖兩個listbox,都改allowdrag為true。

複製以下**,覆蓋。

using system;

using system.collections.generic;

using system.componentmodel;

using system.data;

using system.drawing;

using system.linq;

using system.text;

using system.windows.forms;

namespace listbox互相拖拽

private listbox lbsource = null;//拖拽資料**

#region listbox1拖拽

//首先執行1.當滑鼠被按下時候發生

private void listbox1_mousedown(object sender, mouseeventargs e)

string s = ((listbox)sender).items[index].tostring();//通過index索引找到的項,其實還是那個選中項

lbsource = listbox1;

// dragdropeffects 指定拖放操作的可能效果

dragdropeffects dde1 = dodragdrop(s, dragdropeffects.move);//2.開始拖拽操作,s為要拖拽的資料:當執行這句話時候開始拖拽,然後系統會轉到drag事件裡,順序:dragenter-->dragdragdrop,完成後會調回。如果在下一句打斷點會卡死

if (dde1 == dragdropeffects.move)//如果移動成功

}//3.在用滑鼠將某項拖拽到該控制項的工作區時發生

private void listbox2_dragenter(object sender, drageventargs e)

else

}//4拖拽操作完成時發生

private void listbox2_dragdrop(object sender, drageventargs e)

}#endregion

#region listbox2拖拽

//首先執行1.當滑鼠被按下時候發生

private void listbox2_mousedown(object sender, mouseeventargs e)

string s = ((listbox)sender).items[index].tostring();//通過index索引找到的項,其實還是那個選中項

lbsource = listbox2;

// dragdropeffects 指定拖放操作的可能效果

dragdropeffects dde1 = dodragdrop(s, dragdropeffects.move);//2.開始拖拽操作,s為要拖拽的資料:當執行這句話時候開始拖拽,然後系統會轉到drag事件裡,順序:dragenter-->dragdragdrop,完成後會調回。如果在下一句打斷點會卡死

if (dde1 == dragdropeffects.move)//如果移動成功

}//3.在用滑鼠將某項拖拽到該控制項的工作區時發生

private void listbox1_dragenter(object sender, drageventargs e)

else

}//4拖拽操作完成時發生

private void listbox1_dragdrop(object sender, drageventargs e)

}#endregion

}}

WPF 拖拽ListBox中的Item

整理了兩個關於wpf拖拽listbox中的item的功能。專案位址 需求一 兩個listbox,拖拽其中乙個listbox的item,放置到另乙個listbox中。參考 右邊listbox2本來是空的,從左邊listbox1中拖拽了乙個item過去。需求二 單個listbox,拖拽item,釋放後i...

WPF 拖拽ListBox中的Item

整理了兩個關於wpf拖拽listbox中的item的功能。專案位址 需求一 兩個listbox,拖拽其中乙個listbox的item,放置到另乙個listbox中。參考 右邊listbox2本來是空的,從左邊listbox1中拖拽了乙個item過去。需求二 單個listbox,拖拽item,釋放後i...

檔案拖拽功能

afx msg void ondropfiles hdrop hdropinfo 然後,在cpp檔案中的訊息對映中新增 on wm dropfiles 最後,在cpp檔案中新增ondropfiles函式的實現,對拖拽的檔案進行處理。下面是完整的 class clxedit public cedit ...