我有一个ToolStrip
带有多个ToolStripDropDownButton
s 的,每个都有一组DropDownItems
.
当用户单击 DropDownItem 时,将显示复选标记。
默认情况下,可以单击多个项目,因此会出现多个复选标记。
我想要做的是当用户单击一个 DropDownItem 时,应该取消选中其他已选中的项目。换句话说,DropDown 列表中应该始终只有一个选中项。
我已经涉足了一段时间,但我真的不知道如何在取消选中其他项目的同时保持当前选中的项目不变。
以下是我现在拥有的代码。
private void subietm1ToolStripMenuItem_Click(object sender, EventArgs e)
{
UncheckOtherToolStripMenuItems(sender);
}
public void UncheckOtherToolStripMenuItems(object selectedMenuItem)
{
List<ToolStripDropDownButton> dropdownButtons = new List<ToolStripDropDownButton>();
foreach (ToolStripItem item in toolStrip1.Items)
{
if (item is ToolStripDropDownButton)
{
dropdownButtons.Add((ToolStripDropDownButton)item);
}
}
foreach (ToolStripDropDownButton btn in dropdownButtons)
{
foreach (ToolStripMenuItem d in btn.DropDownItems)
{
if (d.Checked)
d.CheckState = CheckState.Unchecked;
}
}
}
如果有人能对此有所了解或告诉我一个简单的方法,我将不胜感激。
谢谢你。