【发布时间】:2014-08-07 09:00:23
【问题描述】:
我的程序中有一个具有拖放功能的 TreeView,我正在尝试找到一种方法来在另一个节点 (DraggedNode) 停留超过 2 秒后展开节点。我认为更好的方法是使用计时器(但我并不真正了解如何使用它们)。这是我的代码。
private void treeView1_DragOver(object sender, DragEventArgs e)
{
TreeNode targetNode;
TreeNode draggedNode;
GetDraggedAndTargetNode(e, out targetNode, out draggedNode);
e.Effect = DragDropEffects.Move;
if (!targetNode.IsExpanded)
{
// set a Timer of 2 seconds
//System.Timers.Timer aTimer = new System.Timers.Timer();
//aTimer.Elapsed += new ElapsedEventHandler(OnTimedEvent);
//aTimer.Interval = 2000;
//aTimer.Enabled = true;
targetNode.Expand();
}
}
private void OnTimedEvent(object source, ElapsedEventArgs e)
{
// ???
}
谢谢。
【问题讨论】:
-
看到这个接受的答案stackoverflow.com/a/1710093/1150698 到一个类似的问题
标签: c# timer drag-and-drop treeview expand