title: How to show a form "smoothly" for second time in winforms?
body: <p>I have a form that should be shown by clicking on a button in main form and I want when users close the second form, main form be shown again on center of the screen. I used below codes to do this:</p>
  
  <pre><code>private void button_Click(object sender, EventArgs e)
  {
      this.Hide(); //Hides the main form .
      form2.ShowDialog(); //Shows the second form .
      this.Show(); // Re-shows the main form after closing the second form ( just in the taskbar , not on the screen ) .
      this.StartPosition = FormStartPosition.CenterScreen; // I write this code because I want to show the main form on the screen , not just in the taskbar .
  }
  </code></pre>
  
  <p>these commands do what I want , but the problem is that after closing the second form , the main form be shown with a small jump, like a blink! (It's not continuous , it's just at the first.) What I want is do this smoothly, without any blink at the first. How is it possible?</p>
  
  <p>Thanks in advance.</p>