Есть ли способ передать объект через его имя в Vb.Net?Как обратиться к объекту по его названию?
Дело в том, что у меня есть пункты меню, созданные в моем дизайнере с такими именами, как MenuA, MenuB и MenuC.
В базе данных я создал таблицу, состоящую из списка всех доступных меню в строчном формате: MenuA, MenuB до MenuZ.
Также я создал динамическую таблицу, состоящую из пользовательского разрешения, какое меню доступно для определенного пользователя.
Итак, когда я запустил приложение, он получит имя меню, назначенное зарегистрированному пользователю, и начнет превращать свойство Visible в значение TRUE.
Если бы это был элемент управления, я бы просто пропустил его через Parent.Controls.Find(FoundMenu, True)
. Моя проблема заключается в том, что это не элемент управления, это элемент, добавленный в элемент управления, или еще один дополнительный элемент, добавленный к элементу.
Итак, как я могу найти объект в своем интерфейсе только по его названию?
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
Любой может мне помочь в этом, я был бы очень признателен за любые предложения.
Спасибо :)
Это приложение WinForm? –