【发布时间】:2013-10-07 13:27:33
【问题描述】:
我有一个带节点的 Treeview。如果用户双击一个节点,该节点的编辑对话框将打开,他可以在其中修改数据等。 有一个问题,如果用户在节点的折叠按钮上快速单击两次 - 这也算作双击。有没有办法避免这种情况?我搜索了网络,但没有发现任何真正有用的东西。检测点击是否在特定区域内是无用的,因为 Treeview 是动态且可滚动的。
非常感谢。
【问题讨论】:
我有一个带节点的 Treeview。如果用户双击一个节点,该节点的编辑对话框将打开,他可以在其中修改数据等。 有一个问题,如果用户在节点的折叠按钮上快速单击两次 - 这也算作双击。有没有办法避免这种情况?我搜索了网络,但没有发现任何真正有用的东西。检测点击是否在特定区域内是无用的,因为 Treeview 是动态且可滚动的。
非常感谢。
【问题讨论】:
您只需拨打HitTest 即可了解用户点击的位置。
private void treeView1_MouseDoubleClick(object sender, MouseEventArgs e)
{
var hitTest = treeView1.HitTest(e.Location);
if (hitTest.Location == TreeViewHitTestLocations.PlusMinus)
{
//expand collapse clicked
}
}
【讨论】: