從 DataGridView 控制元件 託放資料 到 TreeView控制元件
實現方法,在datagridview的mousedown事件中開始 託放。
然後在treeview 的 DragEnter 中接收託放。
最後在treeview的 DragDrop 中處理託放結果。
注:treeview的allowdrop屬性要設定為 true。
:
1private void dataGridView1_MouseDown(object sender, MouseEventArgs e)
2 {
3 if (e.Button == MouseButtons.Right)
4 {
5 DataGridView.HitTestInfo info = dataGridView1.HitTest(e.X, e.Y);
6
7 if (info.RowIndex >= 0)
8 {
9 DataGridViewRow dr = (DataGridViewRow)
10 dataGridView1.Rows[info.RowIndex];
11 if (dr != null)
12 dataGridView1.DoDragDrop(dr, DragDropEffects.Copy);
13 }
14 }
15 }
16
17 private void treeView1_DragEnter(object sender, DragEventArgs e)
18 {
19 e.Effect = DragDropEffects.Copy;
20 }
21
22 private void treeView1_DragDrop(object sender, DragEventArgs e)
23 {
24 if (e.Data.GetDataPresent(typeof(DataGridViewRow)))
25 {
26 Point p = treeView1.PointToClient(new Point(e.X, e.Y));
27 TreeViewHitTestInfo index = treeView1.HitTest(p);
28
29 if (index.Node != null)
30 {
31
32 DataGridViewRow drv = (DataGridViewRow)e.Data.GetData(typeof(DataGridViewRow));
33 index.Node.Text = "Drop: " + drv.Cells[0].ToString();
34
35 }
36 }
37 }
2 {
3 if (e.Button == MouseButtons.Right)
4 {
5 DataGridView.HitTestInfo info = dataGridView1.HitTest(e.X, e.Y);
6
7 if (info.RowIndex >= 0)
8 {
9 DataGridViewRow dr = (DataGridViewRow)
10 dataGridView1.Rows[info.RowIndex];
11 if (dr != null)
12 dataGridView1.DoDragDrop(dr, DragDropEffects.Copy);
13 }
14 }
15 }
16
17 private void treeView1_DragEnter(object sender, DragEventArgs e)
18 {
19 e.Effect = DragDropEffects.Copy;
20 }
21
22 private void treeView1_DragDrop(object sender, DragEventArgs e)
23 {
24 if (e.Data.GetDataPresent(typeof(DataGridViewRow)))
25 {
26 Point p = treeView1.PointToClient(new Point(e.X, e.Y));
27 TreeViewHitTestInfo index = treeView1.HitTest(p);
28
29 if (index.Node != null)
30 {
31
32 DataGridViewRow drv = (DataGridViewRow)e.Data.GetData(typeof(DataGridViewRow));
33 index.Node.Text = "Drop: " + drv.Cells[0].ToString();
34
35 }
36 }
37 }
相關文章
- 從 DataGridView 控制元件 託放資料 到 TreeView控制元件(二)View控制元件
- 控制元件treeview的使用 (轉)控制元件View
- ACCESS TreeView控制元件的使用View控制元件
- DataGridView控制元件用法合集View控制元件
- jQuery 樹形控制元件 TreeView 的 BugjQuery控制元件View
- c#之datagridview控制元件_用於從資料庫重新載入資料和向資料庫提交更改C#View控制元件資料庫
- DataGridView控制元件 1129View控制元件
- 【轉載】WPF中TreeView控制元件資料繫結和後臺動態新增資料(一)View控制元件
- 將treeview控制元件內容匯出圖片View控制元件
- 【孟憲會】TreeView 控制元件之不回發操作View控制元件
- c#之datagridview控制元件(1)_小記C#View控制元件
- 最近我在用treeview+自定義SiteMapDataSource控制元件讀取資料庫資料做導航列。View控制元件資料庫
- 效能調優的Windows窗體DataGridView控制元件WindowsView控制元件
- 給pb的listview或者treeview控制元件加上背景圖 (轉)View控制元件
- winform中可以摺疊的datagridview,自定義控制元件ORMView控制元件
- 遮蔽DataGridView控制元件DataError 事件提示的異常資訊View控制元件Error事件
- 巧用DataGridView控制元件構建快速輸入體驗View控制元件
- Flutter 自定義縮放控制元件Flutter控制元件
- Realm資料庫 從入門到“放棄”資料庫
- 從入門到放棄之大資料Hive大資料Hive
- Realm 資料庫 從入門到“放棄”資料庫
- WPF中TreeView控制元件如何獲取選中的TreeViewItem物件?View控制元件物件
- Angular 從入坑到挖坑 - 表單控制元件概覽Angular控制元件
- Winform控制元件繫結資料ORM控制元件
- PB下使用TreeView控制元件實現多級分類檢索View控制元件
- 從零開始使用JavaScript編寫資料表格控制元件(一)JavaScript控制元件
- 從零開始使用JavaScript編寫資料表格控制元件(二)JavaScript控制元件
- Winform開發--資料從一個DataGridView轉移到另一個DataGridViewORMView
- hive從入門到放棄(三)——DML資料操作Hive
- 動態綁資料(Repeater控制元件控制元件
- [工作札記]02: .Net Winform控制元件TreeView最簡遞迴繫結方法ORM控制元件View遞迴
- 如何:使用TreeView控制元件實現樹結構顯示及快速查詢View控制元件
- 使用委託及控制元件的invoke方法處理窗體控制元件的跨執行緒訪問控制元件執行緒
- c#樹控制元件treeview_新增treenode節點_選中顯示_刪除C#控制元件View
- 從Android到ReactNative開發(三、自定義原生控制元件支援)AndroidReact控制元件
- asp.net Repeater等資料控制元件模版內部2個DropDownList控制元件級聯ASP.NET控制元件
- 從 Android 到 React Native 開發(三、自定義原生控制元件支援)AndroidReact Native控制元件
- 在Datagridview 控制元件DataGridViewComboBoxColumn怎麼點兩次才下拉下來View控制元件