[英]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.