Articles in this section
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

 

Did you find this information helpful?
Yes
No
Help us improve this page
Please provide feedback or comments
Comments (0)
Please sign in to leave a comment
Access denied
Access denied