0

Windows フォーム アプリケーションでリストを動的に作成しました。ここで、アイテムを選択すると、選択したアイテムを右クリックするとコンテキスト メニューが表示され、フォームの他の空白領域を右クリックすると表示されないように、コンテキスト メニューを追加したいと考えています。現在、このコードを使用しています。

lv.Columns.Add("Button Text", 300, HorizontalAlignment.Left)
lv.Columns.Add("PID", 50, HorizontalAlignment.Left)
lv.Columns.Add("Process Path", 300, HorizontalAlignment.Left)
lv.Columns.Add("Hide Icon Permanently", 150, HorizontalAlignment.Left)

Dim things As List(Of TrayButton) = TrayHelper.Tray.GetTrayButtons()
For Each b As TrayButton In things
    If b.Icon IsNot Nothing Then
        il.Images.Add(b.TrayIndex.ToString, b.Icon)
    Else
        ' When we can't find an icon, the listview will display this form's one.
        ' You could try to grab the icon from the process path I suppose. 
        il.Images.Add(b.TrayIndex.ToString, Me.Icon)
    End If
    Dim lvi As New ListViewItem(b.Text)
    lvi.SubItems.Add(b.ProcessIdentifier.ToString)
    lvi.SubItems.Add(b.ProcessPath)
    lvi.ImageKey = b.TrayIndex.ToString
    lv.Items.Add(lvi)

Next

Dim mnuContextMenu As New ContextMenu()
Me.ContextMenu = mnuContextMenu
Dim mnuItemHide As New MenuItem()
mnuItemHide.Text = "&Hide"

mnuContextMenu.MenuItems.Add(mnuItemHide)
4

1 に答える 1