title: C# Create, check, loop through objects
body: <p>such a weird situation appears in front of me. Here is the thing.
  If I would do this in PHP or some other programming language it would be easy but in C# I dont know how can I achieve this.</p>
  
  <p>Brief description of my problem:</p>
  
  <ol>
  <li>I have a UserForm in C# with combobox. In this combobox I have as many items as there are in the database -> so its dynamically filled on the start of the application</li>
  <li>Each item should represent single UserForm. So here is the problem, if user choses item and clicks on button check should be fired if that userform has been created, if its not, then a new (object ?) userform must be created. Normally I would delete and recreate new form everytime user choses new option but I want to keep those Userforms and create them once and then only hide them or show them, so textinputs etc. remain filled while application will run (but I dont thing that creating 15-20 UserForms at the start of the app is okay in terms of performance).</li>
  </ol>
  
  <p>So what I was thinking of doing and what I tried:</p>
  
  <ol>
  <li><p>I wanted to use the name of chosen item from the combobox and use it as a Object (UserForm) name. (also perform check if it already exists before creating) -> apparently this is not possible in C# to use string variable as object name</p></li>
  <li><p>I googled about Dictionaries, but can I store there whole UserForms ?</p></li>
  <li><p>Also I was thinking of creating all 15-20 Userforms at the beginning and then looping through them and show them or hide them.</p></li>
  </ol>
  
  <p>Any ideas ? </p>