在C#中打印文本框内容

3

我想打印一个简单的文本框中的内容。点击打印按钮后,会出现打印对话框。

我查找了很多信息,但它们都使用RichTextBoxes。是否有一种简单的方法做类似这样的事情?


1
这应该很容易做到,看那个链接,他们所做的就是从richtextbox获取文本,所以我不明白为什么textboxes会有所不同。 - Sayse
尝试将“Richtextbox”替换为您的“textbox”。 - Rohit
@Kyle 是的,但是 'OnBeginPrint' 和 'OnPrintPage' 是如何创建的? - mafap
1
它们是PrintDocument的事件...你需要从工具箱中添加printDocument到你的表单中...在属性选项卡中,你可以点击事件并访问这两个事件...或者你可以从工具箱中添加printdocument到你的表单中,在你的表单加载事件中添加printDocument1.BeginPrint += new PrintEventHandler(OnBeginPrint); printDocument1.PrintPage += new PrintPageEventHandler(OnPrintPage); - Rohit
2个回答

9

这段代码会打印名为textbox1textbox中的内容。

    PrintDocument document = new PrintDocument();
    PrintDialog dialog = new PrintDialog();
    public Form1()
    {
        InitializeComponent();
        document.PrintPage += new PrintPageEventHandler(document_PrintPage);
    }

    void document_PrintPage(object sender, PrintPageEventArgs e)
    {
        e.Graphics.DrawString(textBox1.Text, new Font("Arial", 20, FontStyle.Regular), Brushes.Black, 20, 20);
    }

    private void btnPrint_Click(object sender, EventArgs e)
    {
        dialog.Document = document;
        if (dialog.ShowDialog() == DialogResult.OK)
        {
            document.Print();
        }
    }

1
你的解决方案类似于这个,它们都有效 :) - mafap

4

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接