Я изо всех сил пытаюсь напечатать все изображения PictureBox-es
, которые размещены в контейнере FlowLayoutPanel
.
Я пробовал этот код, но получаю исключение:
private void PrintAllImages()
{
imagesToPrintCount = flowLayoutPanel1.Controls.Count;
PrintDocument doc = new PrintDocument();
doc.PrintPage += Document_PrintPage;
PrintDialog dialog = new PrintDialog();
dialog.Document = doc;
if (dialog.ShowDialog() == DialogResult.OK)
doc.Print();
}
private void Document_PrintPage(object sender, PrintPageEventArgs e)
{
e.Graphics.DrawImage(GetNextImage(), e.MarginBounds);
e.HasMorePages = imagesToPrintCount > 0;
}
private Image GetNextImage()
{
//this line I get the error
PictureBox pictureBox = (PictureBox)flowLayoutPanel2.Controls[flowLayoutPanel2.Controls.Count - imagesToPrintCount];
imagesToPrintCount--;
return pictureBox.Image;
}
Исключение:
System.ArgumentOutOfRangeException: 'Индекс -2 находится вне диапазона. Имя параметра: индекс '