title: Dynamically created graphical checkboxes are not found in panel.controls list
body: <p>I am creating dynamic graphical checkboxes based on my database values inside a panel. but when i try to change the checked state while clicking on the select All checkbox. Nothing happens. I cannot find any controls inside that.</p>
  
  <pre><code>&lt;%@ Register Assembly="EeekSoft.Web.Controls" Namespace="EeekSoft.Web.Controls" TagPrefix="cc1" %&gt;                                 &lt;div style="overflow: auto; height: 462px; width: 386px; margin-top: 0px;"&gt;
        &lt;asp:Panel ID="optionPanel" runat="server" Height="479px" Width="380px"&gt;
        &lt;cc1:GraphicalCheckBox ID="chkSelectAll" runat="server" CheckedImg="images/checked.gif" OnCheckedChanged="chkSelectAll_CheckedChanged"
        UncheckedImg="images/unchecked.gif" UncheckedOverImg="images/unchecked.gif" CheckedOverImg="images/checked.gif"
                                      UncheckedDisImg="images/unchecked_disabled.gif" Style="cursor: hand;" Font-Size="100%" AutoPostBack="true"/&gt;
        &lt;span class="survey_wizard_title" id="lblSelectAll" runat="server"&gt;Select All&lt;/span&gt;
        &lt;/asp:Panel&gt;
  &lt;/div&gt;
  </code></pre>
  
  <p>`  </p>
  
  <pre><code>protected void Page_Load(object sender, EventArgs e)
  {
      if (!Page.IsPostBack &amp;&amp; Request["SurveyID"] != null)
      {
          surveyID = Convert.ToInt32(Request["SurveyID"]);
          PopulateParticipants();
      }
  }private void PopulateParticipants()
  {foreach (OptionPool opt in respOptions)
  {
      Panel row = new Panel();
      GraphicalCheckBox cb = new GraphicalCheckBox();
      row.Attributes.Add("class", "surveyCheckbox");
      cb.ID = Convert.ToString(opt.id);
      cb.Attributes.Add("value", opt.id.ToString());
      cb.Text = opt.data;
      cb.Style.Add("cursor", "hand");
      cb.Font.Size = new FontUnit("100%");
      cb.UncheckedImg = "images/unchecked.gif";
      cb.UncheckedOverImg = "images/unchecked.gif";
      cb.CheckedImg = "images/checked.gif";
      cb.CheckedOverImg = "images/checked.gif";
      cb.UncheckedDisImg = "images/unchecked_disabled.gif";
      row.Controls.Add(cb);
      optionPanel.Controls.Add(row);
  }}
  
  
  protected void chkSelectAll_CheckedChanged(object sender, EventArgs e)
  {
      if (chkSelectAll.Checked == true)
      {
          foreach (Control child in optionPanel.Controls)
          {
              if (!(child is GraphicalCheckBox))
                  continue;
  
              if ((child is GraphicalCheckBox))
              {
                  (child as GraphicalCheckBox).Checked = true;
              }
          }
      }
  }
  </code></pre>
  
  <p>optionPanel.control doesn't list any of the above dynamically created checkboxes.</p>