为什么在每个右键单击中,上下文Menustrip弹出,如何通过控制右键单击事件来在指定位置中启用它



为什么在每次右键单击中,contextMenustrip弹出,如何通过控制右键单击事件?

来指定位置启用它。

尝试删除默认的上下文menustrip并创建一个新的。在控件上使用Hittest,您可以检查单击位置是否在元素上

 private void MouseDown(object sender, MouseEventArgs e)
    {
        if (e.Button == System.Windows.Forms.MouseButtons.Right)
        {
            if (dataGrid.HitTest(e.X, e.Y).Type == DataGridViewHitTestType.ColumnHeader)
            {
                new ContextMenuStrip().Show(dataGrid, e.Location);
            }
        }
    }

请参阅:当我右键单击DataGridView的列标题时,如何正确定位上下文菜单?

最新更新