当前位置:  开发笔记 > 编程语言 > 正文

右键单击以选择datagridview行

如何解决《右键单击以选择datagridview行》经验,为你挑选了3个好方法。

如何在右键单击中选择datagridview行?



1> Alan Christe..:

使其行为与鼠标左键相似?例如

private void dataGridView_CellMouseDown(object sender, DataGridViewCellMouseEventArgs e)
{
    if (e.Button == MouseButtons.Right)
    {
        dataGridView.CurrentCell = dataGridView[e.ColumnIndex, e.RowIndex];
    }
}


这比JvR的答案更灵活和完整,但是如果用户右键单击标题,您应该添加对"e.ColumnIndex> = 0 && e.RowIndex> = 0"的检查.

2> 小智..:
    // Clear all the previously selected rows
    foreach (DataGridViewRow row in yourDataGridView.Rows)
    {
      row.Selected = false;
    }

    // Get the selected Row
    DataGridView.HitTestInfo info = yourDataGridView.HitTest( e.X, e.Y );

    // Set as selected
    yourDataGridView.Rows[info.RowIndex].Selected = true;


如果DataGridView将MultiSelect设置为false,则不必清除先前的选择.此外,如果命中不是有效的行/列,HitTestInfo可以返回HitTestInfo.Nowhere.

3> balexandre..:

很酷的是在右键单击上添加一个菜单,例如使用"查看客户端信息","验证最后发票","向此客户端添加日志条目"等选项.

您只需要添加一个ContextMenuStrip对象,添加您的菜单项,并在DataGridView属性中选择它的ContextMenuStrip.

这将在用户右键单击所有选项的行中创建一个新菜单,然后你需要做的就是让你的魔法:)

请记住,您需要JvR代码来获取用户所在的行,然后获取包含客户端ID的单元格并传递该信息.

希望它有助于改善您的申请

http://img135.imageshack.us/img135/5246/picture1ku5.png

http://img72.imageshack.us/img72/6038/picture2lb8.png

推荐阅读
黄晓敏3023
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有