zoukankan      html  css  js  c++  java
  • 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);

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

  • 相关阅读:
    DATAX windows下安装及csv文件导入mysql简单案例
    JAVA质量属性之易用性战术分析
    以《淘宝网》为例,描绘质量属性的六个常见属性场景
    14 得到相关连的热词数据
    13 信息领域热词分析部分功能展示
    12 所学和感受
    从Android开发看MVC
    论面向服务架构(SOA)设计及其应用
    GitHub上快速创建文件夹
    GitHub将私有库(private)、公有库(public)相互转换
  • 原文地址:https://www.cnblogs.com/big-lll/p/6804117.html
Copyright © 2011-2022 走看看