c#打印中的表单馈送

c#打印中的表单馈送,c#,.net,vb.net,winforms,printing,C#,.net,Vb.net,Winforms,Printing,我正在尝试做一个表单提要&打印时跳过1页,但是由于下面的代码行,我无法生成表单提要 private void InserPageBreak(System.Drawing.Printing.PrintPageEventArgs e) { Font sFont = new Font("Arial", 10); Brush sBrush = Brushes.White; e.Graphics.DrawString("\f", sFont, sBrush, 0, 0)

我正在尝试做一个表单提要&打印时跳过1页,但是由于下面的代码行,我无法生成表单提要

private void InserPageBreak(System.Drawing.Printing.PrintPageEventArgs e)
{
      Font sFont = new Font("Arial", 10);
      Brush sBrush = Brushes.White;
      e.Graphics.DrawString("\f", sFont, sBrush, 0, 0);
}
我使用PrintDialog打印页面内容。我正在使用“\f”C#的换行符

关于如何实现/使此表单提要工作,您有何想法

PS:我甚至试过这个:

//ASCII代码12-打印机的进纸控制代码

 string test = char.ConvertFromUtf32(12);
 e.Graphics.DrawString(test, sFont, sBrush, 0, 0);

在内部,c#将其转换为“\f”,但没有执行表单提要,任何实现“\f”的人,请分享您的想法。

在.NET中,应使用PrintPageEventArgs.HasMorePage属性将表单提要发送到打印机。通过调用e.Graphics.DrawString(“\f”、sFont、sBrush、0、0),您只需将文本呈现给要打印的文档,打印机永远不会将其解释为表单提要

private void InserPageBreak(System.Drawing.Printing.PrintPageEventArgs e)
{
      Font sFont = new Font("Arial", 10);
      Brush sBrush = Brushes.White;
      e.Graphics.DrawString("\f", sFont, sBrush, 0, 0);
}
由于您知道要在何处断开页面,因此在PrintPage事件处理程序中设置PrintPageEventArgs.HasMorePages=true,而不是调用InsertPageBreak方法。这将向打印机发送一个表单提要,并且将继续激发PrintPage事件,直到将HasMorePages设置为false

我希望这有帮助。了解如何实现PrintPage事件处理程序可能会很有用

例如:

在打印之前,使用BeginPrint处理程序初始化数据

    void _document_BeginPrint(object sender, PrintEventArgs e)
    {
        //generate some dummy strings to print
        _pageData = new List<string>()
                {
                    "Page 1 Data",
                    "Page 2 Data",
                    "Page 3 Data",
                };

        // get enumerator for dummy strings
        _pageEnumerator = _pageData.GetEnumerator();

        //position to first string to print (i.e. first page)
        _pageEnumerator.MoveNext();
    }

只是出于好奇,您是否尝试过将画笔更改为黑色?不,我也尝试过黑色,但没有效果。请参阅从中找到的。谢谢,我有相同的概念,不幸的是,microsoft网站链接中提供的URL没有打开。原始链接:或有效吗?谢谢。我试图将PrintPageEventArgs.HasMorePages设置为true;它没有做表单提要。你有什么快速的样本/例子可以展示吗?我添加了一个简短的样本。我在发布前测试了它,它可以打印3页。