J'essaie de prévisualiser et d'imprimer plusieurs fichiers TIFF à partir d'une application Windows C# 2005. L'impression fonctionne bien, mais lorsque j'envoie mon PrintDocument à un PrintPreviewDialog, je reçois deux images de la première page plutôt qu'une bande de la première et de la deuxième page. J'ai également le même problème lorsque j'utilise PrintPreviewControl. Ci-dessous est le code pour un formulaire avec 2 boutons, un PrintDocument et un PrintPreviewDialog qui illustre le problème.Impossible de prévisualiser plusieurs fichiers tiff dans .Net
public partial class Form1 : Form
{
private Image m_Image;
private Int32 m_CurrentPage;
private Int32 m_PageCount;
private void Form1_Load(object sender, EventArgs e)
{
m_Image = Image.FromFile(".\\Test-2-Page-Image.tif");
m_PageCount = m_Image.GetFrameCount(FrameDimension.Page);
}
private void printDocument_BeginPrint(object sender, PrintEventArgs e)
{
m_CurrentPage = 0;
m_PageCount = m_Image.GetFrameCount(FrameDimension.Page);
}
private void printDocument_PrintPage(object sender, PrintPageEventArgs e)
{
m_Image.SelectActiveFrame(FrameDimension.Page, m_CurrentPage);
e.Graphics.DrawImage(m_Image, 0, 0);
++m_CurrentPage;
e.HasMorePages = (m_CurrentPage < m_PageCount);
}
private void btnPreview_Click(object sender, EventArgs e)
{
printPreviewDialog.Document = printDocument;
printPreviewDialog.ShowDialog();
}
private void btnPrint_Click(object sender, EventArgs e)
{
printDocument.Print();
}
}
Est-ce que quelqu'un sait s'il y a là un problème avec le PrintPreviewDialog dans le cadre .Net ou je fais quelque chose de mal.