我有一个包含多个ToolStripDropDownButton的ToolStrip,每个ToolStripDropDownButton都有一组DropDownItems。当用户点击DropDownItem时,会显示选中标记。
默认情况下,多个项可以被点击,因此会出现多个选中标记。
我想做的是,当用户点击一个DropDownItem时,其他已经被选中的项应该取消选中。换句话说,在DropDown列表中应始终只有一个选中项。
我已经尝试过一段时间,但我真的无法弄清楚如何让当前选中的项保持不变,同时取消其他项的选中状态。
以下是我目前的代码。
如果有人能为此提供一些见解或告诉我一个简单的方法,我将不胜感激。
谢谢。
默认情况下,多个项可以被点击,因此会出现多个选中标记。
我想做的是,当用户点击一个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;
}
}
}
如果有人能为此提供一些见解或告诉我一个简单的方法,我将不胜感激。
谢谢。