我正在設計一個日誌功能,用戶可以在其中選擇要登錄的事件。 在點擊按鈕時,我表現出這種類型的菜單: 顯示上下文MenuStrip或上下文菜單按鈕的複選框
用戶可以選擇多個活動,所以我需要出示「檢查標記」所選擇的選項的盈方在用戶點擊它。
我找不到像this question中提到的「Checked」或「CheckOnClick」之類的任何選項。
我嘗試使用ContextMenu和ContextMenuStrips,但無法實現複選框。 有什麼建議?
我正在設計一個日誌功能,用戶可以在其中選擇要登錄的事件。 在點擊按鈕時,我表現出這種類型的菜單: 顯示上下文MenuStrip或上下文菜單按鈕的複選框
用戶可以選擇多個活動,所以我需要出示「檢查標記」所選擇的選項的盈方在用戶點擊它。
我找不到像this question中提到的「Checked」或「CheckOnClick」之類的任何選項。
我嘗試使用ContextMenu和ContextMenuStrips,但無法實現複選框。 有什麼建議?
沒有看到任何代碼,所以我不知道如何創建此菜單。但從最一般的角度來說,這裏是您如何訪問Checked
屬性。
((ToolStripMenuItem)contextMenuStrip.Items[0]).Checked = true; //false;
((ToolStripMenuItem)contextMenuStrip.Items[1]).Checked = true; //false;
((ToolStripMenuItem)contextMenuStrip.Items[2]).Checked = true; //false;
您可以將它們分配爲true或false。如果您已命名ToolStripItems
,那麼您可以直接訪問它們,而不是訪問Items
陣列。
contextMenuStrip.event1.Checked = true; //false;
正如您所看到的,我正在使用ContextMenuStrip
。
但它看起來不像UI中的複選框?!只是表現得像? –
我會補充說,ShowCheckMargin屬性必須設置爲true,如下面的答案所述。 – Russell
雖然你可以使用:
((ToolStripMenuItem)contextMenuStrip.Items[0]).Checked = true; //false;
這可能是危險的,因爲在以後的日子你可能會重新排序菜單項,然後將代碼不匹配。
相反,在設計師點擊菜單,然後項目(如事件1)上看到的屬性,並設置項目修飾符到公共或內部。然後在你的代碼,你可以鍵入項目的名稱,並設置檢查:
event1_ToolStripMenuItem.Checked = true; //false;
注意:您不需要鍵入contet菜單條的名稱。只是項目名稱。
爲了使其在視覺上工作,您需要確保「ShowCheckMargin」屬性爲ON。否則,「.Checked」屬性將默默無聞。
如果我的回答您提供幫助的,請你這麼好心接受它作爲將來訪港正確的答案。謝謝。 –