2010-10-09 70 views
0

當我渲染contextmenustrip時,它會在我的PC屏幕的左上角呈現。我有一個列表視圖,其中包含5-6個項目,並右鍵單擊每個項目,上下文菜單條被顯示。此外,我需要更改上下文菜單條的顏色,包括背景和文本。ContextMenuStrip在左上角呈現Windows

在此先感謝!

回答

1

到目前爲止,最簡單的方法就是將ListView.ContextMenuStrip屬性設置爲您的CMS,然後一切都是自動的。你可以在設計師那裏做。

如果你需要一個自定義的處理出於某種原因,檢查是否被點擊,例如合適的項目,那麼你可以調用的代碼顯示()方法的屬性是這樣的:

private void listView1_MouseClick(object sender, MouseEventArgs e) { 
     if (allowContextMenu(listView1.SelectedItems) { 
      contextMenuStrip1.Show(listView1, e.Location); 
     } 
    } 
0

你還沒有顯示任何代碼,但是如果你沒有調用Show超載,將控件作爲參數,你明顯通過的new Point(0, 0)會將菜單放在屏幕的左上角。

+0

謝謝回覆。是的,它發生了什麼。我剛剛寫了ContextMenu1.Show()。我應該寫些什麼來確保它顯示在每個列表查看選定項目的下方? – 2010-10-09 20:26:00

+0

看看Show的一些重載。其中一個需要一個控制和一個點。傳遞ListView作爲控件,以及要顯示的項目的(x,y)座標。您可以從ListView請求它顯示的任何項目的座標。 – 2010-10-09 20:31:44