title: Smart dialog (Form) position without covering the control component and within screen ? (C#)
body: <p>There is a DataGridView in my form. When I click a cell in this DataGridView, it would show a dialog.</p>
  
  <pre><code>Form_Para formPara = new Form_Para();
  formPara.ShowDialog();
  </code></pre>
  
  <p>In general, I hope this dialog just <strong>within screen</strong> and below this cell.
  If showing below this cell will out of screen, then change its position to above the cell.</p>
  
  <p>I know I can get the size and position of dialog and range of screen to calculate new dialog position. However, is there a simpler method?</p>
  
  <p>For example, when I set 'StartPosition' of dialogs as 'CenterParent'.
  It will show in the center of parent form and <strong>within screen automatically</strong>. I don't need to calculate the new position for avoiding out of screen.</p>
  
  <p>Thanks a lot.</p>