如何:在 Windows 窗体中打印图形

更新:2007 年 11 月

您经常需要在基于 Windows 的应用程序中打印图形。Graphics 类提供将对象绘制到设备(如屏幕或打印机)的方法。

打印图形

  1. 向窗体添加 PrintDocument 组件。

  2. PrintPage 事件处理程序中,使用 PrintPageEventArgs 类的 Graphics 属性指示打印机打印哪一类型的图形。

    下面的代码示例演示用来在边框内创建蓝色椭圆的事件处理程序。该边框具有如下位置和尺寸:起点为 (100,150),宽度为 250,高度为 250。

    Private Sub PrintDocument1_PrintPage(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
       e.Graphics.FillEllipse(Brushes.Blue, New Rectangle(100, 150, 250, 250))
    End Sub
    
    private void printDocument1_PrintPage(object sender, 
    System.Drawing.Printing.PrintPageEventArgs e)
    {
       e.Graphics.FillRectangle(Brushes.Blue, 
         new Rectangle(100, 150, 250, 250));
    }
    
    private void printDocument1_PrintPage(Object sender,
    System.Drawing.Printing.PrintPageEventArgs e)
    {
       e.get_Graphics().FillRectangle(Brushes.get_Blue(),
          new Rectangle(100, 150, 250, 250));
    }
    
    private:
       void printDocument1_PrintPage(System::Object ^ sender,
          System::Drawing::Printing::PrintPageEventArgs ^ e)
       {
          e->Graphics->FillRectangle(Brushes::Blue,
             Rectangle(100, 150, 250, 250));
       }
    

    ((Visual C#、Visual J# 和 Visual C++)在窗体的构造函数中放入以下代码以注册事件处理程序。

    this.printDocument1.PrintPage += new
       System.Drawing.Printing.PrintPageEventHandler
       (this.printDocument1_PrintPage);
    
    this.printDocument1.add_PrintPage(new System.Drawing.Printing.PrintPageEventHandler(
    this.printDocument1_PrintPage));
    
    this->printDocument1->PrintPage += gcnew
       System::Drawing::Printing::PrintPageEventHandler
       (this, &Form1::printDocument1_PrintPage);
    

请参见

参考

Graphics

Brush

其他资源

Windows 窗体打印支持