title: How to provide custom code for InitializeComponent?
body: <p>When you modify column headers of a ListView at design time, the designer generates code to serialize column headers at run-time:</p>
  
  <pre><code>private void InitializeComponent()
  {
      this.listView1 = new System.Windows.Forms.ListView();
      this.columnHeader1 = new System.Windows.Forms.ColumnHeader();
      this.columnHeader2 = new System.Windows.Forms.ColumnHeader();
      this.listView1.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
          this.columnHeader1,
          this.columnHeader2
      });
  }
  </code></pre>
  
  <p>How does the forms-designer know that it should call the constructor for each column followed by a call to the AddRange method of the Columns property of the ListView? I need this for a ListView like UserControl I am writing.</p>