title: How to control the order of selected items from DataGridView using check-boxes?
body: <p><strong>Goal</strong></p>
  <p>Currently looking to find a way how to select items from DataGridView and order it by the selected first at top.</p>
  <p><strong>Example</strong></p>
  <p>First selection by user:</p>
  <pre><code>Selected  Column1 Column2
               a       1
               b       2
               c       3
     x         d       4
  </code></pre>
  <p>Second selection...</p>
  <pre><code>Selected  Column1 Column2
               a       1
     x         b       2
               c       3
     x         d       4
  </code></pre>
  <p>Third selection...</p>
  <pre><code>Selected  Column1 Column2
     x          a      1
     x          b      2
                c      3
     x          d      4
  </code></pre>
  <p><strong>Order</strong></p>
  <pre><code>4th row 
  2nd row
  1st row
  </code></pre>
  <p><strong>Summary</strong></p>
  <p>The 1st item selected by user was the 4th row, then the 2nd and lastly the 1st row.</p>
  <p><strong>Question</strong></p>
  <p>How can I get a list of the all rows in order as explained above?</p>
  <p><strong>Current Code</strong></p>
  <p>I created a checkbox column like so, so the user can see what they have selected.</p>
  <pre><code>DataGridViewCheckBoxColumn checkBoxColumn = new DataGridViewCheckBoxColumn();
  checkBoxColumn.Name = &quot;Selected&quot;;
  checkBoxColumn.HeaderText = &quot;Selected&quot;;
  checkBoxColumn.ReadOnly = false;
  productsView.Columns.Add(checkBoxColumn);
  </code></pre>
  <p>User then checks the checkbox to mark the selected records they desire, then they click a button to which opens another form.</p>
  <p>But the order is mixed.</p>
  <pre><code>private void addBtn_Click(object sender, EventArgs e)
  {
  
      foreach (var row in checkedRows)
      {
          DateTime dateTime = dateText.Value;
          string orderNumber = orderNumberText.Text;
      
          SelectedProducts form = new SelectedProducts(dateTime, orderNumber);
          form.ShowDialog();
      }
  
  }
  </code></pre>