2012-04-12 5 views
3

フォーム上のすべてのListViewItemに同じContextMenuStripを割り当てたいとします。これらのListViewItemは動的に作成されます。ContextMenuStripをListViewItemに割り当てる方法はありますか?

残念ながら、ListViewItemsには割り当て可能なContextMenuStripプロパティがありません(もちろん、ListView自体もそうです)。

ContextMenuStripをListViewに割り当てて、ListViewの現在選択されている項目に基づいてそこから処理する必要がありますか?

答えて

5
private void listView1_MouseDown(object sender, MouseEventArgs e) 
{ 
    if (e.Button == MouseButtons.Right) 
    { 
     var hitTestInfo = listView1.HitTest(e.X, e.Y); 
     if (hitTestInfo.Item != null) 
     { 
      var loc = e.Location; 
      loc.Offset(listView1.Location); 

      // Adjust context menu (or it's contents) based on hitTestInfo details 
      this.contextMenuStrip2.Show(this, loc); 
     } 
    } 
} 
+0

ありがとうございました! – zionpi

関連する問題