2011-08-10 55 views
1

我目前正在編寫一個應用程序,允許用戶查看大量圖像並使用鼠標(ala Windows Table)重新排列它們。一切都很好,但我試圖設置一個系統,我可以選擇多個圖像並將它們發送到打印機。在C#中打印多個圖像

我可以輕鬆地做到這一點,我遍歷所選對象的列表,然後彈出打印機就好了。我遇到的問題是試圖將它們合併爲一個單一的打印作業,而不是每個頁面的單個作業。主要原因是打印預覽可用。當我在打印預覽中迭代我的列表時,它只顯示我的第一張圖片,並且沒有其他頁面出現。我試過e.HasMorePages,但我仍然得到相同的結果。這裏是我在我的打印事件中的代碼:

private void pd_PrintPage(object sender, PrintPageEventArgs e) 
    { 
     foreach (PictureBox PrintPic in SelectedCollection) 
     { 
      e.Graphics.DrawImage(PrintPic.Image, 0, 0); 
      PageCounter++; 
      e.HasMorePages = (PageCounter != SelectedCollection.Count); 
     } 
    } 
    private void pd_BeginPrint(object sender, PrintEventArgs e) 
    { 
      PageCounter = 0; 
    } 

我還是C#編程新手,所以任何幫助表示讚賞。

回答

0

擺脫循環:

private void pd_PrintPage(object sender, PrintPageEventArgs e) 
{ 
    e.Graphics.DrawImage(SelectedCollection[PageCounter], 0, 0); 
    PageCounter++; 
    e.HasMorePages = (PageCounter != SelectedCollection.Count); 
} 
+0

這奏效了!我知道自己在正確的軌道上,但我不會想到只是將這些圖像從收藏中調出來。謝謝! – Lee