private void печатьToolStripMenuItem_Click(object sender, EventArgs e)
{
System.Drawing.Printing.PrintDocument document = new System.Drawing.Printing.PrintDocument();
PrintDialog printDialog = new PrintDialog();
document.PrintPage += new System.Drawing.Printing.PrintPageEventHandler(Print);
printDialog.Document = document;
if (printDialog.ShowDialog() == DialogResult.OK)
{
document.Print();
}
}
private void Print(System.Object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
Bitmap bitmap = new Bitmap(PB_Plan.Image.Width, PB_Plan.Image.Height);
PB_Plan.DrawToBitmap(bitmap, new Rectangle(0, 0, PB_Plan.Image.Width, PB_Plan.Image.Height));
e.Graphics.DrawImage(bitmap, 0, 0);
bitmap.Dispose();
}
Помогите исправить код, чтобы документ распечатывался на весь лист. PB_Plan.SizeMode = StretchImage.
Решение найдено. Вдруг кому понадобится. Всё идеально работает.
private void печатьToolStripMenuItem_Click(object sender, EventArgs e)
{
// показываем окно настройки печати
PrintDocument printDoc = new PrintDocument();
PrintDialog dlg = new PrintDialog();
dlg.Document = printDoc;
if (dlg.ShowDialog() != DialogResult.Cancel)
{
printDoc.PrintPage += new PrintPageEventHandler(printDoc_PrintPage);
printDoc.Print();
}
}
private void printDoc_PrintPage(object sender, PrintPageEventArgs e)
{
e.Graphics.DrawImage(PB_Plan.Image, Point.Empty);
}
Свойство PageSettings.PaperSize
Сборка персонального компьютера от Artline: умный выбор для современных пользователей