用C#打印文档

时间:2011-01-26 11:00:05

标签: c# printing

我正在尝试打印带有.txt扩展名的文档,为此我指的是我的课程书,但很困惑。以下是本书中给出的源代码:

private void Print_Click(object sender, EventArgs e)
{
printDialog1.Document = printDocument1 // there is no object in my program names ad printDocument1
DialogResult result = printDialog1.ShowDialog();
if (result == DialogResult.OK)
{
printDocument1.Print();

并且还有更多的代码

3 个答案:

答案 0 :(得分:2)

您的示例假设PrintDocument对象已从工具箱拖到窗体上:您可以轻松地自己创建对象。

      private void Print_Click(object sender, EventArgs e)
      {
        PrintDocument printDocument = new PrintDocument();
        printDocument.PrintPage += new PrintPageEventHandler(printDocument_PrintPage);

        PrintDialog printDialog = new PrintDialog 
        {
            Document = printDocument
        };

        DialogResult result = printDialog.ShowDialog();

        if (result == DialogResult.OK)
        {
            printDocument.Print(); // Raises PrintPage event
        }
    }

    void printDocument_PrintPage(object sender, PrintPageEventArgs e)
    {
        e.Graphics.DrawString(...);
    }

答案 1 :(得分:1)

在设计模式下打开表单。在工具箱中找到PrintDocument控件。将其拖放到表单上。这会在您的表单类中添加一个名为“printDocument1”的字段。接下来,双击窗体下方显示的printDocument1图像。这会添加PrintPage事件处理程序。使用你书中的代码。

查看书中的说明,应该提到这一点。最好使用它的逐步说明而不是我的。

答案 2 :(得分:1)

如果要打印现有的.txt文件,可以让Windows打印它:

using System.Diagnostics;

Process myProcess = new Process();
myProcess.StartInfo.FileName = "C:\\thefile.txt";  // adjust to your needs
myProcess.StartInfo.Verb = "print";
myProcess.Start();

请参阅Process