Vb.Net の名前でオブジェクトを参照する方法はありますか?
たとえば、MenuA、MenuB、MenuC などの名前でデザイナーで作成されたメニュー項目があります。
データベースで、使用可能なすべてのメニューのリストを文字列形式で構成するテーブルを作成しました: MenuA、MenuB から MenuZ まで。
また、ユーザー権限、特定のユーザーがアクセスできるメニューからなる動的テーブルを作成しました。
そのため、アプリを起動すると、ログインしているユーザーに割り当てられたメニューの名前が取得され、Visible プロパティが TRUE に変わり始めます。
コントロールの場合は、 でループしますParent.Controls.Find(FoundMenu, True)
。私の問題は、ほとんどがコントロールではなく、コントロールに追加されたアイテム、またはアイテムに追加された別のサブアイテムであることです。
では、名前だけで UI 内のオブジェクトを見つけるにはどうすればよいでしょうか?
SearchQuery = "SELECT menu_name FROM tbl_menulist menu, tbl_user user WHERE menu.id_menu = user.id_menu"
QueryReader = ExecuteQueryReader(SearchQuery)
QueryReader.Read()
//What I'm looking for is something like Controls.Find method to look for an object by name
//Seems silly, but what I'm looking for is to create something like below
//QueryReader(0).ToString = Menu Name
Dim FoundMenu As Object = FindMenuByName(QueryReader(0).ToString)
FoundMenu.Visible = True
誰でもこれで私を助けることができます。
ありがとうございました :)