VBNet.Su - Visual Basic .NET. ASP .NET. Framework .NET.
Список форумов
Windows Forms

Drag and Drop

RE: Drag and Drop

Быстрый переход:
RE: Drag and Drop15 декабря 2008 / 03:35
Алексей Немиро
Администратор
ку 65.2275660625+

вопросов: 8
советов: 13
ответов: 27
комментариев: 80


  1. Public Class Form1
  2.   '*******************************************************************
  3.   'Реализация Drag'n'Drop из TreeView в DataGridView
  4.   'http://vbnet.su - Visual Basic .NET. Статьи. Примеры. Форум.
  5.   '*******************************************************************
  6.  
  7.   Dim TreeView1 As New TreeView()
  8.   Dim DataGridView1 As New DataGridView()
  9.  
  10.   Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  11.     TreeView1.AllowDrop = True
  12.     TreeView1.Width = 200
  13.     TreeView1.Dock = DockStyle.Left
  14.     TreeView1.Nodes.Add("Ветка 1")
  15.     TreeView1.Nodes.Add("Ветка 2")
  16.     TreeView1.Nodes.Add("Ветка 3")
  17.     AddHandler TreeView1.ItemDrag, AddressOf TreeView1_ItemDrag
  18.     AddHandler TreeView1.DragEnter, AddressOf TreeView1_DragEnter
  19.  
  20.     DataGridView1.AllowDrop = True
  21.     DataGridView1.Dock = DockStyle.Fill
  22.     For i As Integer = 1 To 5
  23.       Dim c As New DataGridViewTextBoxColumn()
  24.       c.HeaderText = "Колонка " & i.ToString()
  25.       c.Width = 100
  26.       DataGridView1.Columns.Add(c)
  27.     Next
  28.     DataGridView1.Rows.Add("Ячейка", "Еще одна", "И еще")
  29.     DataGridView1.Rows.Add("Ячейка", "Еще одна", "И еще")
  30.     DataGridView1.Rows.Add("Ячейка", "Еще одна", "И еще")
  31.     AddHandler DataGridView1.DragDrop, AddressOf DataGridView1_DragDrop
  32.     AddHandler DataGridView1.DragEnter, AddressOf DataGridView1_DragEnter
  33.  
  34.     Me.Controls.Add(DataGridView1)
  35.     Me.Controls.Add(TreeView1)
  36.   End Sub
  37.  
  38.   Private Sub TreeView1_ItemDrag(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ItemDragEventArgs)
  39.     Dim sourceNode As TreeNode = CType(e.Item, TreeNode)
  40.     DoDragDrop(e.Item.ToString(), DragDropEffects.Move Or DragDropEffects.Copy)
  41.   End Sub
  42.  
  43.   Private Sub TreeView1_DragEnter(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DragEventArgs)
  44.     If (e.Data.GetDataPresent(DataFormats.Text)) Then
  45.       e.Effect = DragDropEffects.Move
  46.     Else
  47.       e.Effect = DragDropEffects.None
  48.     End If
  49.   End Sub
  50.  
  51.   Private Sub DataGridView1_DragDrop(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DragEventArgs)
  52.     If e.Data.GetDataPresent(GetType(System.String)) Then
  53.       Dim baluba As String = e.Data.GetData(GetType(System.String))
  54.       DataGridView1.CurrentCell.Value = baluba
  55.     End If
  56.   End Sub
  57.  
  58.   Private Sub DataGridView1_DragEnter(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DragEventArgs)
  59.     e.Effect = DragDropEffects.Copy
  60.   End Sub
  61. End Class
Все сказанное админом – истина и обсуждению не подлежит, даже если истина таковой не является.
Кнопки VBNet.Su  ·  Утилиты  ·  Home Page  ·  Kbyte.Ru
--
Не забываем ставить фастаны (быстрые ответы) ;-)
Это отдельная страница сообщения форума. Чтобы посмотреть всю ветку, нажмите на эту ссылку.