C# 将字符串转换为ToolStripMenuItem
我已经在表单上设置了一个菜单结构,我想使用数据库以编程方式启用或禁用某些菜单项 我已经到了最后一个阶段,我有一个C# 将字符串转换为ToolStripMenuItem,c#,C#,我已经在表单上设置了一个菜单结构,我想使用数据库以编程方式启用或禁用某些菜单项 我已经到了最后一个阶段,我有一个AllowedMenu和CodeNames(与toolstripmenuitems完全匹配)类,我要做的就是将CodeName从字符串转换成ToolStripMenuItem 我如何才能做到这一点?您可以通过ToolStrip的Items属性访问ToolStripItems。如果您有项目的确切名称(在CodeName变量中),则可以执行以下操作: if (toolStrip1.Item
AllowedMenu
和CodeNames
(与toolstripmenuitems完全匹配)类,我要做的就是将CodeName
从字符串转换成ToolStripMenuItem
我如何才能做到这一点?您可以通过
ToolStrip
的Items
属性访问ToolStripItems。如果您有项目的确切名称(在CodeName
变量中),则可以执行以下操作:
if (toolStrip1.Items.ContainsKey(CodeName)) //Just in case...
{
var yourItem = toolStrip1.Items[CodeName];
}
您可以通过
ToolStrip
的Items
属性访问ToolStripItems。如果您有项目的确切名称(在CodeName
变量中),则可以执行以下操作:
if (toolStrip1.Items.ContainsKey(CodeName)) //Just in case...
{
var yourItem = toolStrip1.Items[CodeName];
}
似乎发现了一些有用的东西
var m = menuStrip1.Items.Find(menuItem.CodeName, true);
var o = m.ToList();
foreach (var p in o)
{
p.Visible = false;
}
谢谢大家。似乎找到了一些有效的方法
var m = menuStrip1.Items.Find(menuItem.CodeName, true);
var o = m.ToList();
foreach (var p in o)
{
p.Visible = false;
}
谢谢大家。在您的特定类中是否允许菜单为布尔值且代码名为字符串属性?关于你使用的对象要更具体一些基本上是的,这是正确的…在你的特定类中,AllowedMenu是一个布尔值,而代码名是字符串属性吗?对你使用的对象要更具体一些基本上是的,这是正确的…如果它直接在菜单栏上,效果会很好,但是如果我需要禁用下拉列表中的某个项目,例如,你有文件>退出,但你想禁用退出按钮呢?如果它直接在菜单栏上,效果会很好,但是,如果我需要禁用下拉列表中的某个项目,例如,您有文件>退出,但您想禁用退出按钮,该怎么办?