Devexpress winforms gridcontrol - 从右键和左键单击事件中的选定行获取 id

Devexpress winforms gridcontrol - Get id from selected row on both right and left click event

我正在尝试在我的软件专业课程中学习 Devexpress winforms gridcontrol。我还没有设法从选定的行中获取 id 右键和左键单击事件。我想要一个同时触发右击和左击的事件,同时我想获得选定的行 ID(或第一个单元格值)。 如果我设法获得行 ID,我不想将 ID 显示到行中。但如果没有,我会将 id 显示到第一个单元格中并尝试​​获取第一个单元格值。

您可以使用 gridView_FocusedRowChanged 事件获取它,因为 Left or Right click 会触发该事件。

这是从 FocusedRow

获取 ID 的示例代码
private void gridView_FocusedRowChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs e)
{
    string ID = gridView.GetFocusedRowCellValue("ID").ToString();
}

希望是你想要的。

只是为了添加到 Triple K 的解决方案中,下面是如何检测单击了哪个鼠标按钮,例如通过将 "e" 强制转换为 DXMouseEventArgs 来表示网格的 Click 事件:

private void gridView1_Click(object sender, EventArgs e)
{
    if (((DXMouseEventArgs)e).Button == System.Windows.Forms.MouseButtons.Right)
    {
        string ID = gridView1.GetFocusedRowCellValue("ID").ToString();

        MessageBox.Show("ID: " + ID);
    }
}