【发布时间】:2012-07-06 13:11:19
【问题描述】:
对于我当前的项目,我用“menuStrip”和几个“ToolStripMenuItem”制作了一个 MDIform。 几个按钮和一个 devexpress“NavbarControl”
意图是用户使用用户ID登录 应用程序将获得特定“控件”的数据行 在这一行中,他们是一个布尔值,如果它为 true,则该项目必须可见,否则该项目必须不可见。
Datarow 还包含项目的名称。
所以我使用:
this.Controls[item].Visible = true;
item = string(物品名称)
如果我用它来隐藏菜单条本身,它可以工作 如果我在 MenuStipItems 上尝试它,它会给出一个空引用异常。
我怎样才能控制MenuStip里面的项目,只能通过项目的名字???
代码:
DataTable dt = GetData();
foreach (DataRow row in dt.Rows)
{
string item = row["ItemNaam"].ToString();
foreach (string rol in Rollen)
{
DataRow dr = GetDataByItemNaam(item);
if (Convert.ToBoolean(dr[rol]) == true)
{
this.Controls[item].Visible = true; //Show Item
}
}
}
【问题讨论】: