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中,您可以在打印的文档中绘制任何您想要的内容。如果您尝试了一些内容,请将其发布。这不是一个请为我编码的网站。