【发布时间】:2012-11-16 05:17:23
【问题描述】:
我有一个ToolStrip 和多个ToolStripDropDownButtons,每个都有一组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;
}
}
}
如果有人能对此有所了解或告诉我一个简单的方法,我将不胜感激。
谢谢。
【问题讨论】:
标签: winforms checked toolstrip toolstripdropdown toolstripitem