現在のプロジェクトでは、「menuStrip」といくつかの「ToolStripMenuItem」を使用してMDIフォームを作成しました。いくつかのボタンとdevexpress「NavbarControl」
ユーザーがuserIDを使用してログインすると、アプリケーションはこの行の特定の「コントロール」のデータ行を取得します。真の場合はアイテムを表示する必要があり、そうでない場合はアイテムを非表示にする必要があります。
データ行には、アイテムの名前も含まれています。
だから私は使用します:
this.Controls[item].Visible = true;
item = string(アイテムの名前)
これを使用してメニューストリップ自体を非表示にした場合、MenuStipItemsで試してみると機能し、null参照例外が発生します。
アイテムの名前だけで、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
}
}
}