• winform 打印


    pageSetupDialog

    打印设置,和对话框控件差不多的套路,把控件拖到窗口中后,会在下方显示,

    然后在制作的菜单中找到打印设置,双击进入点击事件写代码

    按照之前的套路,

    DialogResult drr = pageSetupDialog1.ShowDialog();
    if (drr == DialogResult.OK)
    { }

    执行的时候会报错,,就是说问题出现在页面设置,document(类似于一个文档的对象)

    在打开打印设置的对话框之前要先告诉它要设置的是什么内容,才能让他把页面设置成什么样。

    这里就需要一个这个控件,必须把想要打印的内容放到这个控件上去(不认识什么textbox控件给它让他打印控件),让所有的对话框控件都来针对他进行打印

    把这个控件拖过去,还是在下方,右键点击属性,在事件里面有一个Printpage,不管设置什么东西,只要进行打印就会触发这个事件

    就相当于一个中介,把要打印的东西都放到这里边,打印控件就从这里面抓要打印的东西,然后每次都会触发这个事件。

    在事件后面的括号里,注意一下这里   这个object类型的sender代表的事触发事件的控件, e  就是触发事件中的事件数据。

    这里要用这个e  。 这个e就是这个打印事件中的数据。

    实际上程序在这不会开你的文字,程序打印的其实是一张图片,所以需要一个绘制的功能,把要打印的东西绘制到这个对象上去。

     在这个事件中:

    Font f = new Font("黑体",20);
    Brush b = new SolidBrush(Color.Red);
    e.Graphics.DrawString(textBox1.Text, f, b, 20, 50);    //在这个数据上进行绘制, 绘制什么东西,(把什么东西往上画,用什么样式需要一个font类型(这里字体样式定义一个字体类型属性的变量来来控制),确定颜色和纹理需要一个Brush类型,绘制坐标点(可以通过xy坐标轴来控制)。

    DrawString

    然后再打印设置里面要声明   打印对象就是这个PrintDocument

    private void 打印设置ToolStripMenuItem_Click(object sender, EventArgs e)
            {
                pageSetupDialog1.Document = printDocument1;
                DialogResult drr = pageSetupDialog1.ShowDialog();
                if (drr == DialogResult.OK)
                { 
                    
                }
            }
    
            private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
            {
                Font f = new Font("黑体",20);
                Brush b = new SolidBrush(Color.Red);
                e.Graphics.DrawString(textBox1.Text, f, b, 20, 50);//在这个数据上进行绘制, 绘制什么东西,(把什么东西往上画,用什么样式需要一个font类型,(这里字体样式定义一个字体类型属性的变量来来控制),确定颜色和纹理需要一个Brush类型,绘制坐标点(可以通过xy坐标轴来控制)。
            }

    打印预览

     

    private void 打印预览VToolStripMenuItem_Click(object sender, EventArgs e)
    {
    printPreviewDialog1.Document = printDocument1;
    DialogResult dr = printPreviewDialog1.ShowDialog();
    if (dr == DialogResult.OK)
    {

    }
    会弹出一个预览打印效果的对话框

    就长这样,空的因为里面没写东西。

    打印  printDialog

    private void 打印PToolStripMenuItem_Click(object sender, EventArgs e)
            {
                printDialog1.Document = printDocument1;
    
                DialogResult dr = printDialog1.ShowDialog();
                if (dr == DialogResult.OK)
                {
                    printDocument1.Print();//  选择这个中介里面的打印方法
                }
            }

    这里的 printDialog控件属性可以选择打开,可以选择调整什么属性。

     这样打印就完成了。

    打印控件:
    要打印,第一步先要想到制作打印对象

    PrintDocument - 默认事件

    Font f = new Font("黑体",20);
    Brush b = new SolidBrush(Color.Red);
    e.Graphics.DrawString(textBox1.Text, f, b, 20, 50);

    通过对于事件数据的绘制来制作要打印的内容

  • 相关阅读:
    DevExpress ASP.NET Core Controls 2019发展蓝图(No.6)
    DevExpress v18.2版本亮点——Analytics Dashboard篇(二)
    VS插件CodeRush for Visual Studio发布v18.2.9|附下载
    DevExpress 2019 .NET产品现已完全支持Visual Studio 2019
    DevExpress v18.2版本亮点——Analytics Dashboard篇(一)
    Java开发神器——MyEclipse CI 2019.4.0 全新发布(附下载)
    DevExpress ASP.NET Core Controls 2019发展蓝图(No.5)
    JS原型链中的prototype与_proto_的个人理解与详细总结
    ASP.NET Core中的依赖注入(5):ServicePrvider实现揭秘【补充漏掉的细节】
    ASP.NET Core中的依赖注入(5): ServiceProvider实现揭秘 【解读ServiceCallSite 】
  • 原文地址:https://www.cnblogs.com/big-lll/p/6804117.html
Copyright © 2020-2023  润新知