0

dgv1.CellClickを備えたDataGridViewがあります。

マウスの左ボタンでセルをクリックすると、コンテキストメニューが表示されます。これが発生すると、位置も現在のセルに設定されますが、マウスの右ボタンをクリックするとコンテキストメニューストリップも表示されます。マウスの右ボタンがクリックされたときにコンテキストメニューを無効または非表示にしたい。

私が試してみました:

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

そしてこれはうまくいきませんでした。

誰かアドバイスはありますか?

4

4 に答える 4

3
    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;
    }
于 2012-11-16T21:10:57.407 に答える
0

多分これで:

private void dgv1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)  {
        if ((e.Button != Windows.Forms.MouseButtons.Right)) {
            cms1.Show(datagridview, e.Location);
            }
        }
    }
于 2012-11-16T11:39:41.880 に答える
0

これを試して

private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
    e.Control.ContextMenu = new ContextMenu();
}
于 2012-11-16T11:42:51.717 に答える
0
private void dataGridViewExample_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
    e.Control.ContextMenu = new ContextMenu();
}
于 2012-11-16T11:44:18.577 に答える