如果选择了任何项目,C# contextmenustrip 不显示任何指示
C# contextmenustrip doesn't show any indication if any item is selected
我在我的列表视图中添加了上下文菜单条 'View',其中包含一些菜单项,例如大图标/小图标/磁贴。
现在,每当我 select 任何选项时,相应的视图都会发生变化,但菜单没有任何标记/指示,就像 Windows 文件资源管理器中发生的那样,它显示项目符号/在 selected 菜单项上点。
有人可以告诉我如何为我的上下文菜单获得类似的点/项目符号吗?
我试过 CheckOnClick 属性,它给我一个刻度线,但是有没有其他方法可以让我得到那个点?
提前致谢!
我找不到像 Windows File Explored 的视图选项那样获取项目符号/圆点的方法,但我使用了以下逻辑并使用选中状态来指示所做的选择。
private void toolStripViewOptions_Click(object sender, EventArgs e)
{
ToolStripMenuItem selectedOption = sender as ToolStripMenuItem;
SetIndicationForSelectedOption(selectedOption);
}
private void SetIndicationForSelectedOption(ToolStripMenuItem selectedMenuItem)
{
ToolStripItemCollection menuItems = (contextMenuStrip.Items[(Int32)toolStripView.Tag] as ToolStripMenuItem).DropDownItems;
// Set checked state for only the selected view option and disable same for others.
foreach (ToolStripMenuItem item in menuItems)
{
if (selectedMenuItem == item)
selectedMenuItem.Checked = true;
else
item.Checked = false;
}
}
这符合我的要求。
我在我的列表视图中添加了上下文菜单条 'View',其中包含一些菜单项,例如大图标/小图标/磁贴。
现在,每当我 select 任何选项时,相应的视图都会发生变化,但菜单没有任何标记/指示,就像 Windows 文件资源管理器中发生的那样,它显示项目符号/在 selected 菜单项上点。
有人可以告诉我如何为我的上下文菜单获得类似的点/项目符号吗?
我试过 CheckOnClick 属性,它给我一个刻度线,但是有没有其他方法可以让我得到那个点?
提前致谢!
我找不到像 Windows File Explored 的视图选项那样获取项目符号/圆点的方法,但我使用了以下逻辑并使用选中状态来指示所做的选择。
private void toolStripViewOptions_Click(object sender, EventArgs e)
{
ToolStripMenuItem selectedOption = sender as ToolStripMenuItem;
SetIndicationForSelectedOption(selectedOption);
}
private void SetIndicationForSelectedOption(ToolStripMenuItem selectedMenuItem)
{
ToolStripItemCollection menuItems = (contextMenuStrip.Items[(Int32)toolStripView.Tag] as ToolStripMenuItem).DropDownItems;
// Set checked state for only the selected view option and disable same for others.
foreach (ToolStripMenuItem item in menuItems)
{
if (selectedMenuItem == item)
selectedMenuItem.Checked = true;
else
item.Checked = false;
}
}
这符合我的要求。