public virtual void Draw()
 {
     this.gbButtons.Text = this.m_sHeader;
     if (this.m_NumColumns == 0)
     {
         this.tblControls.ColumnCount = this.DataSource.Rows.Count;
     }
     try
     {
         foreach (DataRow row in this.m_DataSource.Rows)
         {
             AssessmentHelpers.CheckButtonWithValue checkButtonWithValue = new AssessmentHelpers.CheckButtonWithValue();
             checkButtonWithValue.Appearance = Appearance.Button;
             checkButtonWithValue.BackColor  = Control.DefaultBackColor;
             checkButtonWithValue.TextAlign  = ContentAlignment.MiddleCenter;
             checkButtonWithValue.Text       = Conversions.ToString(row[this.m_DisplayMember]).Replace(" ", "\r\n");
             checkButtonWithValue.Size       = AssessmentHelpers.GetButtonSize;
             checkButtonWithValue.Value      = Conversions.ToString(row[this.m_ValueMember]);
             checkButtonWithValue.Name       = checkButtonWithValue.Value;
             checkButtonWithValue.Click     += new EventHandler(this.Button_Clicked);
             this.tblControls.Controls.Add((Control)checkButtonWithValue);
             this.m_ButtonArray.Add((object)checkButtonWithValue);
         }
     }
     finally
     {
         IEnumerator enumerator;
         if (enumerator is IDisposable)
         {
             (enumerator as IDisposable).Dispose();
         }
     }
 }
 private void SetSelectedButton(AssessmentHelpers.CheckButtonWithValue btnClicked)
 {
     if (this.m_isRadio)
     {
         try
         {
             foreach (AssessmentHelpers.CheckButtonWithValue button in this.m_ButtonArray)
             {
                 if (button != btnClicked)
                 {
                     button.Checked = false;
                 }
                 else
                 {
                     button.Checked = true;
                 }
                 this.m_DataSource.Rows.Find((object)button.Value)["Selected"] = (object)button.Checked;
             }
         }
         finally
         {
             IEnumerator enumerator;
             if (enumerator is IDisposable)
             {
                 (enumerator as IDisposable).Dispose();
             }
         }
     }
     else
     {
         this.m_DataSource.Rows.Find((object)btnClicked.Value)["Selected"] = (object)btnClicked.Checked;
     }
     // ISSUE: reference to a compiler-generated field
     ctrlGroupButtons.GroupControl_ClickEventHandler controlClickEvent = this.GroupControl_ClickEvent;
     if (controlClickEvent == null)
     {
         return;
     }
     controlClickEvent((object)this, new EventArgs());
 }