我在运行时创建了ToolStripMenuItem的DropDownItems。
Me.mnuExtrasSecondaryLCID.DropDownItems.Clear()
Dim iCount As Integer = -1
For Each nLang As clsLanguage In g_LCIDs
If nLang.IsLeader Then
iCount += 1
Dim n As New ToolStripMenuItem
n.Name = "mnuSecondaryLCID" & iCount.ToString()
n.Text = nLang.Title
n.Tag = nLang.LCID
n.Available = True
n.CheckOnClick = True
Me.mnuExtrasSecondaryLCID.DropDownItems.Add(n)
AddHandler n.Click, AddressOf Me.SecondaryLCIDClick
End If
Next
这很好用。
当我在运行时检查其中一个DropDownItem时,同一个"列表中的任何其他DropDownItem"保持检查。 我希望只检查一个(=最后点击一个)。
是否存在允许我自动执行此操作的属性,还是需要通过手动取消选中所有其他DropDropItem来对其进行编码?
答案 0 :(得分:0)
您需要手动编码。单击子菜单时,取消选中所有其他兄弟姐妹:
For index = 1 To 5
Dim subMenu = New ToolStripMenuItem(index.ToString())
subMenu.CheckOnClick= True
AddHandler subMenu.Click, Sub(obj, arg)
Dim item = DirectCast(obj, ToolStripMenuItem)
For Each sibling In item.Owner.Items.OfType(Of ToolStripMenuItem).Except({obj})
sibling.Checked = False
Next sibling
End Sub
Menu1ToolStripMenuItem.DropDownItems.Add(subMenu)
Next