1

我有一个ContextMenustrip& DevExpress XtraGridView。当用户右键单击 XtraGridView 时,我向用户显示了 ContextMenustrip,因为我使用了XtraGridView's MouseDown()事件。此应用程序的问题是,当我的 gridview 包含最少的行时,它会在 Gridview 的末尾显示一些空白空间。当用户右键单击 gridview 时,我不想在 XtraGridView 的那个空白空间中显示 ContextMenustrip。我只想在选定的行位置显示 ContextMenustrip。这可以避免这个问题吗?

谢谢..

4

1 回答 1

2

我建议您使用略有不同的方法。如下所示处理 GridView 的PopupMenuShowing事件,以确保您的菜单仅在必要时打开。

private void gridView1_PopupMenuShowing(object sender, DevExpress.XtraGrid.Views.Grid.PopupMenuShowingEventArgs e) {
            if(e.HitInfo.HitTest ==  GridHitTest.RowCell)    {
                e.Allow == false;
                // your code to show menu
            }
        }
于 2011-05-06T08:33:28.553 回答