title: How to refer to an object by its name?
body: <p>Is there a possible way to refer an object through it's name in Vb.Net?</p>
  
  <p>The case is, I have menu items created in my designer with names such as MenuA, MenuB and MenuC.</p>
  
  <p>On the database, I created a table consisting the list of all available menus in string format : MenuA, MenuB all the way to MenuZ.</p>
  
  <p>Also I created a dynamic table consisting the user permission, what menu is accessible by a certain user.</p>
  
  <p>So when I started the app, it will get the name of menu assigned to the logged user, and start to turn the Visible property to TRUE.</p>
  
  <p>If it was a Control, I would just loop through it by <code>Parent.Controls.Find(FoundMenu, True)</code>.
  My problem is most of it is not a control, it is an Item added to the Control, or even another SubItem added to the Item.</p>
  
  <p>So how can I found an object in my UI only by it's name?</p>
  
  <pre><code>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
  </code></pre>
  
  <p>Anyone can help me with this, I would really appreciate any suggestions.</p>
  
  <p>Thank you :)</p>