我想通過更改鼠標圖標向用戶表明他們試圖拖動到錯誤的節點級別。我似乎無法得到這個......任何建議?c#winform treeview Dragdrop效果
0
A
回答
1
刪除一個TreeView是一個不確定的主張,用戶會希望在可能不可見丟棄的節點。無論是因爲它已摺疊並隱藏或從屏幕滾動出來。 Anyhoo,你想使用DragOver事件並檢查鼠標的位置。這是一個樣例表單。在其上放置一個樹形視圖並添加一些節點。點擊表格並拖動。它只允許在第二級節點上丟棄:
public partial class Form1 : Form {
public Form1() {
InitializeComponent();
treeView1.AllowDrop = true;
treeView1.DragEnter += treeView1_DragEnter;
treeView1.DragOver += treeView1_DragOver;
}
protected override void OnMouseDown(MouseEventArgs e) {
DoDragDrop("foo", DragDropEffects.Copy);
base.OnMouseDown(e);
}
private void treeView1_DragEnter(object sender, DragEventArgs e) {
// TODO: check e.Data
e.Effect = DragDropEffects.Copy;
}
private void treeView1_DragOver(object sender, DragEventArgs e) {
Point pos = treeView1.PointToClient(new Point(e.X, e.Y));
var hit = treeView1.HitTest(pos);
TreeNode node = hit.Node;
if (hit.Node != null) {
node.Expand();
if (node.Level != 1) node = null;
}
e.Effect = node != null ? DragDropEffects.Copy : DragDropEffects.None;
}
}
0
檢查http://msdn.microsoft.com/en-us/library/system.windows.forms.drageventargs.aspx以獲取DragEventArgs的文檔。你應該效果設置爲none:
e.Effect = DragDropEffects.None;
相關問題
- 1. WinForm C中的Treeview問題#
- 2. 如何將數據插入Winform TreeView(C#)中的有效編碼?
- 3. 檢測DragDrop到一個TreeView項目
- 4. Winform的DropShadow效果很慢?
- 5. 的DragDrop發生IDE
- 6. 將轉換效果添加到winform?
- 7. 在winform中部分切斷節點TreeView
- 8. C#winform:節點在TreeView中展開和摺疊
- 9. C#:在UserControl中加載帶有圖像的TreeView WinForm
- 10. 什麼是C#winform中的等效UpdateSourceTrigger?
- 11. Winform中的TreeView節點映射
- 12. .net中的內存異常winform treeview
- 13. 獲取winform treeview到wpf樹視圖
- 14. C#,WinForm在另一個winform
- 15. TreeView c#filepath
- 16. C#Winform XNA Collision
- 17. C#TreeView節點
- 18. C#Treeview索引
- 19. C#Winform的:
- 20. C#DragDrop;如何檢索源的父項?
- 21. C#Winform如何Pin/UnPin WebBrowser控件
- 22. C#winform backgroundworker
- 23. C# - TreeView構造
- 24. C#WinForms TreeView&ImageList
- 25. c#treeview path navigation
- 26. WPF/WinForms DragDrop IDataObject
- 27. DevExpress XtraTreeList DragDrop
- 28. 的DragDrop保存
- 29. Silerverlight dragdrop問題
- 30. 從C#WinForm的