title: creating a datagridview form in c#
body: <p>I`m new to c# and windows form applications.
  Right now, I want to create a Datagridview within my form, whose rows I want to fill with the properties of a business object. I followed the example from this msdn page: <a href="http://msdn.microsoft.com/en-us/library/y0wfd4yz.aspx" rel="nofollow">How to: Bind Objects to Windows Forms DataGridView Controls</a> and created my own program, but instead of getting a similar result as in the msdn example I get a datagridview with three empty rows. What am I doing wrong? Here is my program:</p>
  
  <pre><code>using System;
  using System.Windows.Forms;
  
  
  public class Form3 : Form
  {
      private DataGridView dataGridView1 = new DataGridView();
      private BindingSource bindingSource1 = new BindingSource();
  
      public Form3()
      {            
          this.Load += new System.EventHandler(EnumsAndComboBox_Load);
      }
  
      private void EnumsAndComboBox_Load(object sender, System.EventArgs e)
      {
          // Populate the data source.           
          bindingSource1.Add(new Test("bli", "bla", "blop", "ha", "ho", "he"));
          bindingSource1.Add(new Test("bli", "bla", "blop", "ha", "ho", "he"));
  
          // Initialize the DataGridView.
          dataGridView1.AutoGenerateColumns = false;
          dataGridView1.AutoSize = true;
          dataGridView1.DataSource = bindingSource1;
  
          // Initialize and add a text box column.
          DataGridViewColumn column = new DataGridViewTextBoxColumn();
          column.DataPropertyName = "Name1";
          column.Name = "Name1";
          dataGridView1.Columns.Add(column);
  
          // Initialize and add a check box column.
          column = new DataGridViewTextBoxColumn();
          column.DataPropertyName = "Name2";
          column.Name = "Name2";
          dataGridView1.Columns.Add(column);
  
          column = new DataGridViewTextBoxColumn();
          column.DataPropertyName = "Name3";
          column.Name = "Name3";
          dataGridView1.Columns.Add(column);
  
          column = new DataGridViewTextBoxColumn();
          column.DataPropertyName = "Name4";
          column.Name = "Name4";
          dataGridView1.Columns.Add(column);
  
          column = new DataGridViewTextBoxColumn();
          column.DataPropertyName = "Name5";
          column.Name = "Name5";
          dataGridView1.Columns.Add(column);
  
          column = new DataGridViewTextBoxColumn();
          column.DataPropertyName = "Name6";
          column.Name = "Name6";
          dataGridView1.Columns.Add(column);
  
          // Initialize the form.
          this.Controls.Add(dataGridView1);
          this.AutoSize = true;
          this.Text = "DataGridView object binding demo";
      }
  
      #region "test object"
      private class Test
      {
          private string test1;
          private string test2;
          private string test3;
          private string test4;
          private string test5;
          private string test6;
  
          public Test(string s1, string s2, string s3, string s4, string s5, string s6)
          {
              test1 = s1;
              test2 = s2;
              test3 = s3;
              test4 = s4;
              test5 = s5;
              test6 = s6;
          }
  
          public Test()
          {
              test1 = "bla";
              test2 = "bla";
              test3 = "bla";
              test4 = "bla";
              test5 = "bla";
              test6 = "bla";
          }
  
  
          public string Test1
          {
              get
              {
                  return test1;
              }
              set
              {
                  test1 = value;
              }
          }
  
          public string Test2
          {
              get
              {
                  return test2;
              }
              set
              {
                  test2 = value;
              }
          }
  
          public string Test3
          {
              get
              {
                  return test3;
              }
              set
              {
                  test3 = value;
              }
          }
  
          public string Test4
          {
              get
              {
                  return test4;
              }
              set
              {
                  test4 = value;
              }
          }
  
          public string Test5
          {
              get
              {
                  return test5;
              }
              set
              {
                  test5 = value;
              }
          }
  
          public string Test6
          {
              get
              {
                  return test6;
              }
              set
              {
                  test6 = value;
              }
          }
      }
  
      #endregion
  
      static class Program
      {
          [STAThread]
          public static void Main()
          {
              Application.Run(new Form3());
          }
      }
  }
  </code></pre>