【发布时间】:2022-06-15 04:35:52
【问题描述】:
我有一个下拉菜单条,它根据特定输入的集数填充。这是填充下拉列表的代码:
for (int i = 0; i < numSets; i++)
{
ToolStripMenuItem subItem = new ToolStripMenuItem();
subItem.Text = "Set " + (i + 1).ToString();
subItem.CheckOnClick = true;
subItem.Enabled = true;
subItem.Click += MenuCommands.CompareSetClicked;
if (i + 1 == activeSet)
{
subItem.Checked = true;
subItem.Enabled = false;
}
compareSetsMax3ToolStripMenuItem.DropDownItems.Add(subItem);
}
允许用户通过从下拉列表中选择其他集合来比较集合。这个想法是,选中的集合在被选中后会在它们旁边出现一个复选标记,一旦取消选中它就会消失。
click 事件处理所有这些,除了实际出现的复选标记外,一切都按预期工作。在调试模式下,我可以看到所有检查相关的属性都是正确的,并且 CheckedImage 从 null 更改为 Bitmap 图像。但是,不会出现复选标记。
具有讽刺意味的是,我在项目的其他地方有一个 contextMenuStrip,它利用了可以正常工作的复选标记功能。
有没有人有这方面的经验和/或知道解决办法?
【问题讨论】:
-
代码对我有用。