在 TabPage Headers 旁边的区域中获取鼠标点击

Getting Mouse Clicks in the area next to TabPage Headers

我正在尝试在自定义 TabControl 中处理鼠标点击。如果用户单击 TabPage 上方区域的任何位置,我至少需要处理 MouseDown 和 MouseUp。显然,它可以单击选项卡。但是,选项卡旁边似乎有一个 "Dead" 区域,它不会触发 MouseDown 事件。

MouseMove() 正在触发。其他 Mouse/Click 个事件中只有 none 个。我已将多选项卡选择模式添加到 TabControl,我希望它们能够单击单个选项卡或选项卡外部以取消选择所有 "selected" 选项卡。需要帮助找出最简单的解决方案。

如果您需要更多信息或说明,请告诉我们。

编辑: 我能够使用 LarsTech 的答案。非常感谢。

在我的控制下,我添加了:

    protected override void OnHandleCreated(EventArgs e)
    {
        base.OnHandleCreated(e);

        Parent.MouseDown += testMousedown;
    }

    private void testMousedown(object sender, MouseEventArgs e)
    {
        if (Bounds.Contains(e.Location))
        {
            MessageBox.Show("tab space clicked");
        }
    }

查看容器的MouseDown事件:

protected override void OnMouseDown(MouseEventArgs e) {
  base.OnMouseDown(e);

  if (tabControl1.Bounds.Contains(e.Location)) {
    MessageBox.Show("tab space clicked");
  }
}

如果 TabControl 在面板中,那么您将不得不使用该面板的 MouseDown 事件。