Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用于在C#中打印的全局页眉和页脚(而不是多次复制和粘贴相同的信息)_C#_Winforms_Visual Studio_Printing_.net 3.5 - Fatal编程技术网

用于在C#中打印的全局页眉和页脚(而不是多次复制和粘贴相同的信息)

用于在C#中打印的全局页眉和页脚(而不是多次复制和粘贴相同的信息),c#,winforms,visual-studio,printing,.net-3.5,C#,Winforms,Visual Studio,Printing,.net 3.5,在我的应用程序中,用户可以预览和打印文档——比如说文档A、文档B和文档C,每个文档都显示相同的页眉和页脚。目前,代码是跨多个位置复制的,但出于效率原因,我是否可以简单地创建另一个保存一致信息的方法,并简单地调用和创建文本和图像(或其他内容)?以下示例与我的应用程序类似: private void Doc_A_Preview_Click(object sender, EventArgs e) { PrintDocument Print_Document = new PrintDocume

在我的应用程序中,用户可以预览和打印文档——比如说文档A、文档B和文档C,每个文档都显示相同的页眉和页脚。目前,代码是跨多个位置复制的,但出于效率原因,我是否可以简单地创建另一个保存一致信息的方法,并简单地调用和创建文本和图像(或其他内容)?以下示例与我的应用程序类似:

private void Doc_A_Preview_Click(object sender, EventArgs e)
{
     PrintDocument Print_Document = new PrintDocument();
     Print_Document.PrintPage += new PrintPageEventHandler(Doc_A);
     PrintPreviewDialog Print_Preview = new PrintPreviewDialog();
     Print_Preview.Document = Print_Document;
     Print_Preview.ShowDialog(this);
}

private void Doc_A_Print_Click(object sender, EventArgs e)
{
      PrintDocument Print_Document = new PrintDocument();
      Print_Document.PrintPage += new PrintPageEventHandler(Doc_A);
      PrintDialog Print_Dialog = new PrintDialog();
      Print_Dialog.Document = Print_Document;
      Print_Dialog.ShowDialog(this);

      if (Print_Dialog.ShowDialog() == DialogResult.OK)
      {
          Print_Document.Print();
      }
}
我认为为页眉/页脚和页面主体创建一个方法(所有页面都不同)可能会有如下意义:

一致的页眉/页脚 页面正文不一致 我知道前两种方法(Doc\u A\u Preview\u Click和Doc\u Print\u Click)只调用Doc\u一种只显示正文和标题的方法,我不知道如何调用页眉/页脚


那个么,我如何将Doc_A和HeaderFooter合并在一起呢?

若我对这个问题理解正确,那个么你们可以这样做

private void Doc_A(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
    Header(sender, e);
    // Body text
    // Images
    Footer(sender, e);
}
private void Doc_A(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
    // Doc A (heading)
    // Body text
    // Images
}
private void Doc_A(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
    Header(sender, e);
    // Body text
    // Images
    Footer(sender, e);
}