Comment puis-je inviter un utilisateur à choisir un emplacement pour enregistrer un fichier?

Dans mon Formulaire principal, j'ai une méthode appelée SavePDFDocument():

private void SavePDFDocument()
{
    PDFWrapper pdfWrapper = new PDFWrapper();
    pdfWrapper.CreatePDF(horizontalPictureScroller1.GetPictures(), "pdfDocument.pdf");
}

Comme vous pouvez le voir, je suis en train de taper un nom pour le fichier. J'aimerais demander à l'utilisateur de choisir l'emplacement d'enregistrement et quel nom lui donner.

C'est le CreatePDF() la méthode que j'utilise ci-dessus:

public void CreatePDF(List<System.Drawing.Image> images, string filename)
{
if (images.Count >= 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 > 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();
}
}

Des suggestions?

OriginalL'auteur | 2010-12-03