c#-如何打印某些标签的文本?

c#-如何打印某些标签的文本?,c#,.net,winforms,printing,C#,.net,Winforms,Printing,我的程序中有一些标签,如: Name: Paul Bought: bike 我只想把这个打印出来。我试图用PrintDialog和PrintDocument来实现这一点,但没有成功。我不知道如何获取这些标签的文本并打印出来。更具体地说,我不知道如何打印任何东西 这是我第一次尝试这样做,如果有人知道如何用C#打印帮助我,我将不胜感激。在C#中,打印与绘画几乎没有区别。很简单: public void PrintThemAll() { var document = new PrintDoc

我的程序中有一些标签,如:

Name: Paul
Bought: bike
我只想把这个打印出来。我试图用PrintDialog和PrintDocument来实现这一点,但没有成功。我不知道如何获取这些标签的文本并打印出来。更具体地说,我不知道如何打印任何东西

这是我第一次尝试这样做,如果有人知道如何用C#打印帮助我,我将不胜感激。

在C#中,打印与绘画几乎没有区别。很简单:

public void PrintThemAll()
{
    var document = new PrintDocument();
    document.PrintPage += document_PrintPage;
    document.Print();
}

void document_PrintPage(object sender, PrintPageEventArgs e)
{
    var graphics = e.Graphics;
    var normalFont = new Font("Calibri", 14); 

    var pageBounds = e.MarginBounds;
    var drawingPoint = new PointF(pageBounds.Left, (pageBounds.Top + normalFont.Height));

    graphics.DrawString("Name: Paul", normalFont, Brushes.Black, drawingPoint);

    drawingPoint.Y += normalFont.Height;

    graphics.DrawString("Bought: bike", normalFont, Brushes.Black, drawingPoint);

    e.HasMorePages = false; // No pages after this page.
}

您需要创建PrintDocument对象,并为PrintPage事件添加处理程序。每次HasMorePages设置为true时都会调用PrintPage处理程序(如果设置为false,则当前页面是最后一个)。在handler中,您可以在打印的文档中绘制任何您想要的内容。

如果您尝试了一些内容,请将其发布。这不是一个请为我编码的网站。