title: Show Print Dialog before printing
body: <p>I want to show the print dialog box before printing the document, so the user can choose another printer before printing.  The code for printing is:</p>
  
  <pre><code>private void button1_Click(object sender, EventArgs e)
          {
              try
              {
                  PrintDocument pd = new PrintDocument();
                  pd.PrintPage += new PrintPageEventHandler(PrintImage);
                  pd.Print();
              }
              catch (Exception ex)
              {
                  MessageBox.Show(ex.Message, ToString());
              }
          }
          void PrintImage(object o, PrintPageEventArgs e)
          {
              int x = SystemInformation.WorkingArea.X;
              int y = SystemInformation.WorkingArea.Y;
              int width = this.Width;
              int height = this.Height;
  
              Rectangle bounds = new Rectangle(x, y, width, height);
  
              Bitmap img = new Bitmap(width, height);
  
              this.DrawToBitmap(img, bounds);
              Point p = new Point(100, 100);
              e.Graphics.DrawImage(img, p);
          }
  </code></pre>
  
  <p>will this code be able to print the current form?</p>