簡體   English   中英

禁用DataGridView系統ContextMenu

[英]Disable DataGridView System ContextMenu

有誰知道當用戶右鍵單擊DataGridViewTextBoxCell時如何禁用系統上下文菜單? 我試圖在DataGridView級別重寫WndProc(因為在Cell級別沒有WndProc可以重寫),但是似乎沒有任何效果。 任何幫助將不勝感激。

以下是我在常規TextBox中實現此目標所使用的方法,但是,對於DataGridViewCell,我需要以相同的方式工作嗎?

public  class NoContextTextBox : TextBox {
    private static readonly int WM_CONTEXTMENU = 123;
    protected override void WndProc(ref Message m) {
        if (m.Msg != WM_CONTEXTMENU) {
            base.WndProc(ref m);
        }
    }
}

這對我有用:

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

只需在DataGridView的EditingControlShowing事件中將ContextMenu屬性設置為新的(空)ContextMenu。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM