當我渲染contextmenustrip時,它會在我的PC屏幕的左上角呈現。我有一個列表視圖,其中包含5-6個項目,並右鍵單擊每個項目,上下文菜單條被顯示。此外,我需要更改上下文菜單條的顏色,包括背景和文本。ContextMenuStrip在左上角呈現Windows
在此先感謝!
當我渲染contextmenustrip時,它會在我的PC屏幕的左上角呈現。我有一個列表視圖,其中包含5-6個項目,並右鍵單擊每個項目,上下文菜單條被顯示。此外,我需要更改上下文菜單條的顏色,包括背景和文本。ContextMenuStrip在左上角呈現Windows
在此先感謝!
到目前爲止,最簡單的方法就是將ListView.ContextMenuStrip屬性設置爲您的CMS,然後一切都是自動的。你可以在設計師那裏做。
如果你需要一個自定義的處理出於某種原因,檢查是否被點擊,例如合適的項目,那麼你可以調用的代碼顯示()方法的屬性是這樣的:
private void listView1_MouseClick(object sender, MouseEventArgs e) {
if (allowContextMenu(listView1.SelectedItems) {
contextMenuStrip1.Show(listView1, e.Location);
}
}
你還沒有顯示任何代碼,但是如果你沒有調用Show
超載,將控件作爲參數,你明顯通過的new Point(0, 0)
會將菜單放在屏幕的左上角。
謝謝回覆。是的,它發生了什麼。我剛剛寫了ContextMenu1.Show()。我應該寫些什麼來確保它顯示在每個列表查看選定項目的下方? – 2010-10-09 20:26:00
看看Show的一些重載。其中一個需要一個控制和一個點。傳遞ListView作爲控件,以及要顯示的項目的(x,y)座標。您可以從ListView請求它顯示的任何項目的座標。 – 2010-10-09 20:31:44