Как напечатать табличку с панелью в виде окна
У меня есть форма окна, которая содержит таблицу, две надписи над ней и много других компонентов под ней. Используя PrintDocument, я хотел бы напечатать таблицу с ее заголовком, и только это без отображения других компонентов. Это моя форма
Код, который я использую, печатает только таблицу.
Bitmap printImage;
private void CaptureScreen()
{
printImage = new Bitmap(tableLayoutPanel1.Width, tableLayoutPanel1.Height);
tableLayoutPanel1.DrawToBitmap(printImage, new Rectangle(0, 0, printImage.Width, printImage.Height));
}
private void printDocument1_PrintPage(object sender, PrintPageEventArgs e)
{
e.Graphics.DrawImage(printImage, 0, 0);
}
Как мне совместить ярлык?
1 ответ
В своем коде печати используйте Graphics.MeasureString, чтобы получить размер текста метки (или используйте высоту метки), используйте его для смещения растрового изображения (вместо 0, 0), а затем используйте объект Graphics для рисования строки, используя свойства Text, Forecolor и Font метки. Если вы хотите использовать метку backcolor, сделайте Graphics.FillRectangle до рисования строки.
Вам может потребоваться проявить творческий подход, если текст вашей этикетки автоматически обернут, и вы хотите, чтобы он печатался таким образом.