ooooombps! 2021-07-03 22:59 采纳率: 66.7%
浏览 25
已采纳

c# datagridview contextMenuStrip

我把contextMenuStrip1绑定到了datagridview里面了,但是我想他能够只在其中的一个列的范围内可以出现,别的列,按右键是不可以出现的。

  • 写回答

1条回答 默认 最新

  • CSDN专家-showbo 2021-07-03 23:25
    关注

    datagridview添加CellContextMenuStripNeeded事件,用一个全局变量存储点击的列下标
    然后contextMenuStrip添加Opening事件,判断是不是需要的列下标就阻止弹出。
    有帮助请采纳,谢谢~~
    效果如下图
    https://img-mid.csdnimg.cn/release/static/image/mid/ask/1625326045200csdnuploader.gif

            int ColumnIndex = -1;
            private void dataGridView1_CellContextMenuStripNeeded(object sender, DataGridViewCellContextMenuStripNeededEventArgs e)
            {
                ColumnIndex = e.ColumnIndex;
            }
    
            private void contextMenuStrip1_Opening(object sender, System.ComponentModel.CancelEventArgs e)
            {
                e.Cancel = ColumnIndex != 0;//只在第一列弹出菜单,其他列修改这个0值,列下标从0开始
            }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 opencv 无法读取视频
  • ¥15 用matlab 实现通信仿真
  • ¥15 按键修改电子时钟,C51单片机
  • ¥60 Java中实现如何实现张量类,并用于图像处理(不运用其他科学计算库和图像处理库))
  • ¥20 5037端口被adb自己占了
  • ¥15 python:excel数据写入多个对应word文档
  • ¥60 全一数分解素因子和素数循环节位数
  • ¥15 ffmpeg如何安装到虚拟环境
  • ¥188 寻找能做王者评分提取的
  • ¥15 matlab用simulink求解一个二阶微分方程,要求截图