title: Order of controls in a form's Control property in C#
body: <p>I am having a peculiar problem with the order in which FlowLayoutPanels are added in to the form's <strong>controls</strong> property. This is what I tried,</p>
  
  <p>I added 7 FlowLayoutPanels in to a C# window application from left to right in vertical strips. Then I tagged the flow layouts as 1, 2, 3, ... 7 again from left to right. Now in the load handler of the form, I wrote the following snippet,</p>
  
  <pre><code>    foreach (FlowLayoutPanel aDaysControl in this.Controls)
      {
          MessageBox.Show(aDaysControl.Tag.ToString());
      }
  </code></pre>
  
  <p>I expected messages to appear in the order of <strong>1, 2, ... 7</strong>. But I got it in the reverse order (7, 6, ...1). Could some one help me out with the mistake I did ??</p>
  
  <p>Reason behind preserving the order,</p>
  
  <blockquote>
    <p>I am trying to make a calendar control
    with each row representing a day. If a
    month starts from Wednesday, then I
    need to add a empty label to the
    first(Monday) and the second(Tuesday)
    row. So the order matters a bit</p>
  </blockquote>