title: Dynamically update usercontrol
body: <p>In my C# winform project I used several user controls.
  Here it contain two option like this</p>
  
  <pre><code>Home &gt; Person &gt; Addperson
  
  Home &gt; Teacher &gt; AddTeacher
  </code></pre>
  
  <p>Person and Teacher contain a listbox which display all person/teachers from database.
  when I add person using <strong>Addperson</strong>, data entered successfully. But when I go back to <strong>Person</strong> It doesn't show anything. At the same time If I go back to home and enter into <strong>AddTeacher</strong> option, here from dropdown list I can find that newly added data.</p>
  
  <p>Now if I add that person as a teacher and go back to <strong>Teacher</strong> it won't show anything but data actually inserted successfully. Then if I close the whole program and reopen than everything show correctly.<br/></p>
  
  <p>All I want is to refresh those <em>usercontrol</em> somehow so that every time any change happens it will show that change instantly without closing down whole program.</p>
  
  <p>I tried different methods but none of them works. I tried refresh method. Also tried
  with <code>datasource=null</code> before actual datasource declaration.</p>
  
  <p><strong>Code for person Listbox:</strong></p>
  
  <pre><code>var personListDictionary = new Dictionary&lt;int, string&gt;();
  
  SqlCommand prsonListCmd = new SqlCommand("SQL QUERY", Connection);
  SqlDataReader dr = prsonListCmd.ExecuteReader();
  
  if (dr.HasRows)
  {
     while (dr.Read())
     {
        ...
        personListDictionary.Add(Key, Value);
     }
  }
  
  PersonList.DisplayMember = "Value";
  PersonList.ValueMember = "Key";        
  PersonList.DataSource = new BindingSource(personListDictionary, null);
  </code></pre>