【问题标题】:Disable Right-Click for ContextMenuStrip in DataGridView在 DataGridView 中禁用 ContextMenuStrip 的右键单击
【发布时间】:2012-11-16 11:34:11
【问题描述】:

我有一个带有 dgv1.CellClick 的 DataGridView。

使用鼠标左键单击单元格时会显示上下文菜单。发生这种情况时,它还会将位置设置为当前单元格,但是当我单击鼠标右键时,上下文菜单条也会显示出来。我想在单击鼠标右键时禁用或隐藏上下文菜单。

我试过了:

    private void dgv1_MouseClick(object sender, MouseEventArgs e)
    {
        if (e.Button == System.Windows.Forms.MouseButtons.Right)
            cms1.Hide();
    }

这没有用。

有人有什么建议吗?

【问题讨论】:

    标签: c# winforms


    【解决方案1】:
        private MouseButtons e_Button = new MouseButtons();
        private void dgv1_MouseDown(object sender, MouseEventArgs e)
        {
            e_Button = e.Button;
        }
    
        private void cms1_Opening(object sender, CancelEventArgs e)
        {
            if (e_Button == System.Windows.Forms.MouseButtons.Right)
                e.Cancel = true;
        }
    

    【讨论】:

      【解决方案2】:

      也许是这样:

      private void dgv1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)  {
              if ((e.Button != Windows.Forms.MouseButtons.Right)) {
                  cms1.Show(datagridview, e.Location);
                  }
              }
          }
      

      【讨论】:

      • 这使它显示为在网格中的任意位置按下两个按钮。我只希望它在按下鼠标左键时显示在 DataGridViewButtonColumn 上。
      【解决方案3】:

      试试这个

      private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
      {
          e.Control.ContextMenu = new ContextMenu();
      }
      

      【讨论】:

      • 也许我应该提到它是一个 DataGridViewButtonColumn
      • 您想在 datagridviewbutton 上的上下文菜单上禁用
      【解决方案4】:
      private void dataGridViewExample_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
      {
          e.Control.ContextMenu = new ContextMenu();
      }
      

      【讨论】:

      • 感谢您的快速响应,但没有任何效果。
      • 你在 EditingControlShowing DataGridView 事件上试过了吗?
      • @Scott 你确定 DataGridView 的 ContextMenuStrip 属性没有?
      猜你喜欢
      • 2013-05-18
      • 1970-01-01
      • 1970-01-01
      • 2014-02-09
      • 1970-01-01
      • 2016-05-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多