首页 > 解决方案 > c# treeview 中的 MouseDoubleClick 事件仅在双击节点时发生

问题描述

事件仅在双击节点时发生,但即使树视图中没有节点,我也想触发双击。我想从另一个树视图复制数据,因此需要触发事件。

标签: c#winforms

解决方案


您可以尝试通过订阅MouseUp事件来实现它。

private DateTime t1 = DateTime.Now;

private void treeView1_MouseUp(object sender, MouseEventArgs e)
{
    var t2 = t1;
    t1 = DateTime.Now;

    if ((t1 - t2).TotalMilliseconds <= SystemInformation.DoubleClickTime)
    {
        TreeViewHitTestInfo hti = treeView1.HitTest(e.Location);

        if (hti.Node == null || !hti.Node.Bounds.Contains(e.Location))
        {
            MessageBox.Show("empty area double-click");
        }
    }
}

推荐阅读