C# では、フォーム上にパネルがあり、その内容を印刷したいと考えています。パネルの内容は、DrawLines
メソッドからの行です。
現在、印刷プレビューで表示したり、パネル上の線を印刷したりできません。パネルの境界線が表示されます。
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
panel1.CreateGraphics().DrawLines(new Pen(Color.Black),
new Point[]{new Point(10,10),new Point(50,50)});
}
private void PrintPanel(Panel pnl)
{
PrintDialog myPrintDialog = new PrintDialog();
PrinterSettings values;
values = myPrintDialog.PrinterSettings;
myPrintDialog.Document = printDocument1;
printDocument1.PrintController = new StandardPrintController();
printDocument1.PrintPage +=
new System.Drawing.Printing.PrintPageEventHandler(printDocument1_PrintPage);
printPreviewDialog1.Document = printDocument1;
printPreviewDialog1.ShowDialog();
//printDocument1.Print();
printDocument1.Dispose();
}
void printDocument1_PrintPage(object sender, PrintPageEventArgs e)
{
Bitmap bmp = new Bitmap(panel1.Width, panel1.Height);
panel1.DrawToBitmap(bmp, new Rectangle(0, 0, panel1.Width, panel1.Height));
e.Graphics.DrawImage(bmp, panel1.Width, panel1.Height);
}
パネルの線が印刷プレビューまたは印刷で表示されないのはなぜですか?