window.print参数设置_window.print参数设置[通俗易懂]

window.print参数设置_window.print参数设置[通俗易懂]应用程序中提供了一组打印控件,包括和控件,开发程序时,开发人员可以直接使用这些控件控制打印的文本和数据格式

目录

一、PageSetupDialog 控件  

1.Document属性

2.AllowMargins属性

3.AllowOrientation属性

4.AllowPaper属性

5.AllowPrinter属性

6.示例源码及生成效果

二、PrintDialog控件

1.Document属性

2.AllowCurrentPage属性

3.AllowPrintToFile属性

4.AllowSelection属性

5.AllowSomePages属性

6.示例源码及生成效果

三、PrintDocument控件

四、PrintPreviewControl控件

五、PrintPreviewDialog控件

1.Document属性

2.UseAntiAlias属性

3.ShowDialog()方法


        Windows应用程序中提供了一组打印控件,包括
PageSetupDialog

PrintDialog

PrintDocument

PrintPreviewControl

PrintPreviewDialog
控件,开发程序时,开发人员可以直接使用这些控件控制打印的文本和数据格式。

一、PageSetupDialog 控件  

        PageSetupDialog控件用于设置页面详细信息以便打印。允许用户设置边框和边距调整量、页眉和页脚以及纵向或横向打印。

        在创建PageSetupDialog类的实例时,读/写属性将被设置为初始值。将AllowMargins、AllowOrientation、AllowPaper、AllowPrinter、ShowNetwork属性设置为true,将Document、MinMargins、PageSettings、PrinterSettings属性设置为null,将ShowHelp属性设置为false。

属    性 说    明
Documen   获取页面设置的PrintDocument类对象
AllowMargins   是否启用对话框的边距部分
AllowOrientation   是否启用对话框的方向部分(横向对纵向)
AllowPaper   是否启用对话框的纸张部分(纸张大小和纸张来源
AllowPrinter   是否启用“打印机”按钮

1.Document属性

        Document属性用于获取页面设置的PrintDocument。语法如下:

public PrintDocument Document{get;set;}
属性值:从中获得页面设置的PrintDocument。

2.AllowMargins属性

        AllowMargins属性用于设置是否启用对话框的边距部分。语法如下:

public bool AllowMargins {get;set;}
属性值:如果启用了对话框的边距部分,则为true;否则为false。默认为true。

3.AllowOrientation属性

        AllowOrientation属性用于设置是否启用对话框的方向部分(横向对纵向)。语法如下:

public bool AllowOrientation{get;set;}
属性值:如果启用了对话框的方向部分,则为true;否则为false。默认为true。

4.AllowPaper属性

        AllowPaper属性用于设置是否启用对话框的纸张部分(纸张大小和纸张来源)。语法如下:

public bool AllowPaper{get;set;}
属性值:如果启用了对话框的纸张部分,则为true;否则为false。默认为true。

5.AllowPrinter属性

        AllowPrinter属性用于设置是否启用“打印机”按钮。语法如下:

public bool AllowPrinter{get;set;}

6.示例源码及生成效果

// 设置PageSetupDialog控件的相应属性
// VS 2022,Windows窗体应用,.NET 8.0,不需要设计器
using System.Drawing.Printing;
namespace _01
{
    public partial class Form1 : Form
    {
        private PageSetupDialog? pageSetupDialog1;
        private readonly PrintDocument printDocument1;
        private readonly Button? button1;

        public Form1()
        {
            InitializeComponent();           
            printDocument1 = new PrintDocument();

            // 
            // button1
            // 
            button1 = new Button
            {               
                Location = new Point(150, 12),
                Name = "button1",
                Size = new Size(75, 23),
                TabIndex = 0,
                Text = "页面设置",
                UseVisualStyleBackColor = true
            };
            button1.Click += new EventHandler(Button1_Click);

            // 
            // Form1
            // 
            AutoScaleDimensions = new SizeF(6F, 12F);
            AutoScaleMode = AutoScaleMode.Font;
            ClientSize = new Size(400, 300);
            Controls.Add(button1);
            Name = "Form1";
            Text = "页面设置";
            ResumeLayout(false);
        }

        private void Button1_Click(object? sender, EventArgs e)
        {
            pageSetupDialog1 = new PageSetupDialog
            {
                Document = printDocument1,                
                AllowMargins = true,        //启用边距
                AllowOrientation = true,
                AllowPaper = true,
                AllowPrinter = true
            };            
            pageSetupDialog1.ShowDialog();  //显示页面设置对话框
        }
    }
}

window.print参数设置_window.print参数设置[通俗易懂]window.print参数设置_window.print参数设置[通俗易懂]

二、PrintDialog控件

        PrintDialog控件用于选择打印机、选择要打印的页以及确定其他与打印相关的设置。通过PrintDialog控件可以选择全部打印、打印选定的页范围或打印选定内容。

        PrintDialog类与System.Windows.Forms.PrintDialog不同,后者用于Windows窗体应用程序。

属    性 说    明
Documen   获取PrinterSettings类的PrintDocument对象
AllowCurrentPage   是否显示“当前贞”选项按钮
AllowPrintToFile   是否启用“打印到文件”复选框
AllowSelection   是否启用“选择”选项按钮
AllowSomePages   是否启用“页”选项按钮

1.Document属性

        Document属性用于获取PrinterSettings的PrintDocument对象。语法如下:

public PrintDocument Document {get;set;}
属性值:PrinterSettings的PrintDocument对象。

2.AllowCurrentPage属性

        AllowCurrentPage属性用于设置是否显示“当前页”选项按钮。语法如下:

public bool AllowCurrentPage {get;set;}
属性值:如果显示“当前页”选项按钮,则为true;否则为false。默认为false。

3.AllowPrintToFile属性

        AllowPrintToFile属性用于设置是否启用“打印到文件”复选框。语法如下:

public bool AllowPrintToFile{get;set;}
属性值:如果启用“打印到文件”复选框,则为true;否则为false。默认为true。

4.AllowSelection属性

        AllowSelection属性用于设置是否启用“选择”选项按钮。语法如下:

public bool AllowSelection{get;set;}
属性值:如果启用“选择”选项按钮,则为true;否则为false。默认为false。

5.AllowSomePages属性

        AllowSomePages属性用于设置是否启用“页”选项按钮。语法如下:

public bool AllowSomePages {get;set;}
属性值:如果启用“页”选项按钮,则为true;否则为false。默认为false。

6.示例源码及生成效果

//打印机设置
//VS2022,Windows窗体应用,不用设计器
using System.Drawing.Printing;
namespace _02
{
    public partial class Form1 : Form
    {
        private readonly Button button1;
        private readonly PrintDialog printDialog1;
        private PrintDocument printDocument1;

        public Form1()
        {
            InitializeComponent();          
            printDocument1 = new PrintDocument();
            // 
            // button1
            // 
            button1 = new Button
            {
                Location = new Point(98, 12),
                Name = "button1",
                Size = new Size(85, 23),
                TabIndex = 0,
                Text = "打印机设置",
                UseVisualStyleBackColor = true
            };
            button1.Click += new EventHandler(Button1_Click);
            // 
            // printDialog1
            // 
            printDialog1 = new PrintDialog
            {
                UseEXDialog = true
            };
            // 
            // Form1
            // 
            AutoScaleDimensions = new SizeF(6F, 12F);
            AutoScaleMode = AutoScaleMode.Font;
            ClientSize = new Size(300, 250);
            Controls.Add(button1);
            Name = "Form1";
            Text = "打印机设置";
        }
        private void Button1_Click(object? sender, EventArgs e)
        {
            printDialog1.Document = printDocument1;           
            printDialog1.AllowPrintToFile = true;   //启用"打印到文件"复选框
            printDialog1.AllowCurrentPage = true;   //显示“当前项”按钮
            printDialog1.AllowSelection = true;     //启用"选择按钮"
            printDialog1.AllowSomePages = true;     //启用"页"按钮
            printDialog1.ShowDialog();
        }
    }
}

window.print参数设置_window.print参数设置[通俗易懂]window.print参数设置_window.print参数设置[通俗易懂]

三、PrintDocument控件

        PrintDocument控件设置打印的文档。PrintDocument控件中比较常见的是控件的PrintPage事件和Print()方法。PrintPage事件在需要为当前页打印的输出时发生。调用Print()方法开始文档的打印进程。

        在打印开始后,通过DefaultPageSettings属性更改页设置对正在打印的页没有任何影响。

// 打印文件设置
// VS2022,Windows窗体应用,不用设计器
using System.Drawing.Printing;
namespace _03
{
    public partial class Form1 : Form
    {
        private readonly Button button1;
        private readonly PrintDocument printDocument1;
        private readonly PrintPreviewDialog printPreviewDialog1;

        public Form1()
        {
            InitializeComponent();
            System.ComponentModel.ComponentResourceManager resources = new(typeof(Form1));         
            printDocument1 = new PrintDocument();
            
            // 
            // button1
            // 
            button1 = new Button
            {
                Location = new Point(112, 12),
                Name = "button1",
                Size = new Size(75, 23),    //横坐标=(窗体有效宽-按钮宽)/2
                TabIndex = 0,
                Text = "打印",
                UseVisualStyleBackColor = true
            };
            button1.Click += new EventHandler(Button1_Click);
            // 
            // printDocument1
            // 
            printDocument1.PrintPage += new PrintPageEventHandler(PrintDocument1_PrintPage);
            // 
            // printPreviewDialog1
            // 
            printPreviewDialog1 = new PrintPreviewDialog
            {
                AutoScrollMargin = new Size(0, 0),
                AutoScrollMinSize = new Size(0, 0),
                ClientSize = new Size(400, 300),
                Document = printDocument1,
                Enabled = true,
                Icon = resources.GetObject("printPreviewDialog1.Icon") as Icon,
                Name = "printPreviewDialog1",
                Visible = false
            };
            // 
            // Form1
            // 
            AutoScaleDimensions = new SizeF(6F, 12F);
            AutoScaleMode = AutoScaleMode.Font;
            ClientSize = new Size(300, 250);
            Controls.Add(button1);
            Name = "Form1";
            Text = "打印文件设置";
        }

        private void PrintDocument1_PrintPage(object? sender, PrintPageEventArgs e)
        {
            e.Graphics!.DrawString("蝶恋花", new Font("宋体", 15), Brushes.Black, 350, 80);
            e.Graphics!.DrawLine(new Pen(Color.Black, (float)3.00), 100, 185, 720, 185);
            e.Graphics!.DrawString("伫倚危楼风细细,望极春愁,黯黯生天际。", new Font("宋体", 12), Brushes.Black, 110, 195);
            e.Graphics!.DrawString("草色烟光残照里,无言谁会凭阑意。", new Font("宋体", 12), Brushes.Black, 110, 220);
            e.Graphics!.DrawString("拟把疏狂图一醉,对酒当歌,强乐还无味。", new Font("宋体", 12), Brushes.Black, 110, 245);
            e.Graphics!.DrawString("衣带渐宽终不悔。为伊消得人憔悴。", new Font("宋体", 12), Brushes.Black, 110, 270);
            e.Graphics!.DrawLine(new Pen(Color.Black, (float)3.00), 100, 300, 720, 300);
        }
        private void Button1_Click(object? sender, EventArgs e)
        {
            if (MessageBox.Show("是否要预览打印文档", "打印预览", MessageBoxButtons.YesNo) == DialogResult.Yes)
            {
                printPreviewDialog1.UseAntiAlias = true;               
                printPreviewDialog1.Document = printDocument1;     //设置要预览的文档
                printPreviewDialog1.ShowDialog();
            }
            else
            {               
                printDocument1.Print();                                             //调用Print方法直接打印文档
            }
        }
    }
}

window.print参数设置_window.print参数设置[通俗易懂]window.print参数设置_window.print参数设置[通俗易懂]

window.print参数设置_window.print参数设置[通俗易懂]

四、PrintPreviewControl控件

        PrintPreviewControl控件用于按文档打印时的外观显示文档。该控件只为用户提供一个预览打印文档的功能,因此通常只有在希望编写自己的打印预览用户界面时才使用PrintPreviewControl控件。PrintPreviewControl控件比较重要的是Document属性,该属性用于设置要预览的文档。 语法如下:

public PrintDocument Document {get;set;}
属性值:PrintDocument表示要预览的文档

        在创建PrintPreviewControl类的实例时,一些读/写属性被设置为初始值。如AutoZoom为true、Document为null、Columns为1、Rows为0、StartPage为0。

// 打印预览
// VS2022,Windows窗体应用,不用设计器
using System.Drawing.Printing;
namespace _04
{
    public partial class Form1 : Form
    {
        //private const string Value = "\\";
        private readonly PrintPreviewControl printPreviewControl1;
        private readonly PrintDocument printDocument1;

        public Form1()
        {
            InitializeComponent();                       
            // 
            // printPreviewControl1
            // 
            printPreviewControl1 = new PrintPreviewControl
            {
                Location = new Point(12, 12),
                Name = "printPreviewControl1",
                Size = new Size(500, 420),
                TabIndex = 0
            };
            // 
            // printDocument1
            // 
            printDocument1 = new PrintDocument();
            printDocument1.PrintPage += new PrintPageEventHandler(PrintDocument1_PrintPage);
            // 
            // Form1
            // 
            AutoScaleDimensions = new SizeF(6F, 12F);
            AutoScaleMode = AutoScaleMode.Font;
            ClientSize = new Size(520, 445);
            Controls.Add(printPreviewControl1);
            Name = "Form1";
            Text = "打印预览控制";
            Load += new EventHandler(Form1_Load);
        }
        private void Form1_Load(object? sender, EventArgs e)
        {
            printPreviewControl1.Document = printDocument1;
        }
        private void PrintDocument1_PrintPage(object? sender, PrintPageEventArgs e)
        {
            //string str = Application.StartupPath[..Application.StartupPath[..Application.StartupPath.LastIndexOf(Value)].LastIndexOf(Value)];
            string str = Application.StartupPath;
            str += @"\img.jpg";
            e.Graphics!.DrawImage(Image.FromFile(str), 10, 10, 607, 452);
        }
    }
}

window.print参数设置_window.print参数设置[通俗易懂]

        调整DrawImage()方法里的参数宽度和高度,就会让输出的图片适应打印预览区域。为了不使图片比例失真,要做到参数宽度和高度与打印预览区域尤其与图片的像素比例一致。

五、PrintPreviewDialog控件

        PrintPreviewDialog控件用于显示文档打印后的外观。该控件包含此对话打印、放大、显示一页或多页和关闭框的按钮。PrintPreviewDialog控件的常见属性和方法有Document属性、UseAntiAlias属性和ShowDialog()方法。

1.Document属性

        Document属性用于设置要预览的文档。语法如下:

public PrintDocument Document{get;set;}
属性值:PrintDocument表示要预览的文档。

2.UseAntiAlias属性

        UseAntiAlias属性用于设置打印是否使用操作系统的防锯齿功能。语法如下:

public bool UseAntiAlias{get;set;}
属性值:如果使用防锯齿功能,则为true;否则为false。

3.ShowDialog()方法

        ShowDialog()方法将窗体显示为模式对话框,并将当前活动窗口设置为它的所有者。语法如下:

public DialogResult ShowDialog()
返回值:DialogResult值之一。

今天的文章window.print参数设置_window.print参数设置[通俗易懂]分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/79985.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注