title: How can I prompt a user to choose a location to save a file?
body: <p>In my main Form I have a method called SavePDFDocument():</p>
  
  <pre><code>private void SavePDFDocument()
  {
      PDFWrapper pdfWrapper = new PDFWrapper();
      pdfWrapper.CreatePDF(horizontalPictureScroller1.GetPictures(), "pdfDocument.pdf");
  }
  </code></pre>
  
  <p>As you can see, right now I'm manually typing in a name for the file. I'd like to ask the user to choose where to save it and what name to give it.</p>
  
  <p>This is the CreatePDF() method I'm using above:</p>
  
  <pre><code>public void CreatePDF(List&lt;System.Drawing.Image&gt; images, string filename)
  {
      if (images.Count &gt;= 1)
      {
          Document document = new Document(PageSize.LETTER);
          try
          {
  
              // step 2:
              // we create a writer that listens to the document
              // and directs a PDF-stream to a file
  
              PdfWriter.GetInstance(document, new FileStream(filename, FileMode.Create));
  
              // step 3: we open the document
              document.Open();
  
              foreach (var image in images)
              {
                  iTextSharp.text.Image pic = iTextSharp.text.Image.GetInstance(image, System.Drawing.Imaging.ImageFormat.Jpeg);
  
                  if (pic.Height &gt; pic.Width)
                  {
                      //Maximum height is 800 pixels.
                      float percentage = 0.0f;
                      percentage = 700 / pic.Height;
                      pic.ScalePercent(percentage * 100);
                  }
                  else
                  {
                      //Maximum width is 600 pixels.
                      float percentage = 0.0f;
                      percentage = 540 / pic.Width;
                      pic.ScalePercent(percentage * 100);
                  }
  
                  pic.Border = iTextSharp.text.Rectangle.BOX;
                  pic.BorderColor = iTextSharp.text.BaseColor.BLACK;
                  pic.BorderWidth = 3f;
                  document.Add(pic);
                  document.NewPage();
              }
          }
          catch (DocumentException de)
          {
              Console.Error.WriteLine(de.Message);
          }
          catch (IOException ioe)
          {
              Console.Error.WriteLine(ioe.Message);
          }
  
          // step 5: we close the document
          document.Close();
      }
  }
  </code></pre>
  
  <p>Any suggestions?</p>