Category / Section
How to drag and drop baritems from a WinForms XPToolBar to another XPToolBar?
1 min read
Drag and drop baritems
It is possible to drag and drop bar items from a XPToolBar to another XPToolBar using DragDrop and DragEnter events.
C#
private void xpToolBar2_DragEnter(object sender, DragEventArgs e) { Console.WriteLine("XPToolBar Drag Enter"); if (e.Data.GetDataPresent(typeof(BarItem))) e.Effect = DragDropEffects.Copy; else e.Effect = DragDropEffects.None; } private void xpToolBar2_DragDrop(object sender, DragEventArgs e) { Console.WriteLine("XPToolBar Drag Drop"); if (e.Data.GetDataPresent(typeof(BarItem))) { BarItem bitem = e.Data.GetData(typeof(BarItem)) as BarItem; this.xpToolBar2.Items.Add(bitem); } } private void XPToolBar_BarControlInternal_MouseDown(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left) { BarControlInternal bcint = sender as BarControlInternal; Point pt = bcint.PointToScreen(new Point (e.X,e.Y)); BarItem bitem = bcint.HitTest(pt.X, pt.Y) as BarItem; DoDragDrop(bitem, DragDropEffects.Copy); } }
VB
Private Sub xpToolBar2_DragEnter(ByVal sender As Object, ByVal e As DragEventArgs) Handles xpToolBar2.DragEnter Console.WriteLine("XPToolBar Drag Enter") If e.Data.GetDataPresent(GetType(BarItem)) Then e.Effect = DragDropEffects.Copy Else e.Effect = DragDropEffects.None End If End Sub Private Sub xpToolBar2_DragDrop(ByVal sender As Object, ByVal e As DragEventArgs) Handles xpToolBar2.DragDrop Console.WriteLine("XPToolBar Drag Drop") If e.Data.GetDataPresent(GetType(BarItem)) Then Dim bitem As BarItem = TryCast(e.Data.GetData(GetType(BarItem)), BarItem) Me.xpToolBar2.Items.Add(bitem) End If End Sub Private Sub XPToolBar_BarControlInternal_MouseDown(ByVal sender As Object, ByVal e As MouseEventArgs) If e.Button = MouseButtons.Left Then Dim bcint As BarControlInternal = TryCast(sender, BarControlInternal) Dim pt As Point = bcint.PointToScreen(New Point (e.X,e.Y)) Dim bitem As BarItem = TryCast(bcint.HitTest(pt.X, pt.Y), BarItem) DoDragDrop(bitem, DragDropEffects.Copy) End If End Sub