了解WPF控件:PrintDialog常用属性与用法(八)

掌握WPF控件:熟练常用属性(八)

PrintDialog

-一个对话框,用于在打印文档时显示打印设置参数供用户选择并确认。通过该控件,用户可以选择打印机、打印的范围、打印的份数、打印质量等。

常用属性描述
CurrentPageEnabled用于获取或设置一个值,该指示打印当前页的选项是否可用。
MaxPage用于获取或设置页范围内允许的最大页码。表示可在“ 打印 ”对话框的页范围中使用的最高页码。
MinPage用于获取或设置页范围中允许的最小页码。表示可在“打印”对话框的页面范围中使用的最小页码。
PageRange用于获取或设置当 PageRangeSelection 设置为 UserPages 时要打印的页面范围。
PageRangeSelection用于获取或设置此 PrintDialog 实例的 PageRangeSelection。可选值:AllPages(所有页)、CurrentPage(当前页)、SelectedPages(选定页)、UserPages(用户指定的范围页)。
PrintableAreaHeight用于获取页面的可打印区域的高度。
PrintableAreaWidth用于获取页面的可打印区域的宽度。
PrintQueue用于获取或设置一个 PrintQueue,该字段表示所选的打印机。
PrintTicket用于获取或设置当用户针对当前打印作业单击“打印”时 PrintDialog 使用的 PrintTicket。PrintTicket包含了打印设置的详细信息。
SelectedPagesEnabled用于获取或设置指示是否启用打印所选页的选项的值。如果为true,则允许用户选择要打印的页面范围;如果为false,则不允许用户选择要打印的页面范围。
UserPageRangeEnabled用于获取或设置一个值,该值指示“打印”对话框的用户是否可以使用一个选项指定要打印的页范围。为true表示可以使用选中指定打印范围。
  • 下面来写个例子
<Grid><StackPanel  Orientation="Vertical" VerticalAlignment="Top"   Margin="20,20,20,0"><!--添加打开基本打印弹窗按钮--><Button Content="打开基本的PrintDialog对话框" Background="Green" Foreground="White" Height="50" Width="250" FontSize="16" Padding="10,0" Click="Button_Click"></Button><!--添加有相关设置的打印弹窗按钮--><Button Content="打开有设置的PrintDialog对话框" Background="Blue"  Margin="0,20,0,0" Foreground="White" Height="50" Width="250" FontSize="16" Padding="10,0" Click="Button_Click_1"></Button><!--设置获取到打印区域的高度和宽度显示Label--><Label x:Name="MyLabel" HorizontalAlignment="Center" FontSize="16" Foreground="Red" Margin="0,20,0,0"></Label></StackPanel>
</Grid>
using System.Printing;
using System.Windows;
using System.Windows.Controls;namespace WpfCommonControls
{/// <summary>/// PrintDialog.xaml 的交互逻辑/// </summary>public partial class PrintDialogWindow : Window{public PrintDialogWindow(){InitializeComponent();}private void Button_Click(object sender, RoutedEventArgs e){//打开最基本的打印对话框PrintDialog printDialog = new PrintDialog();//显示printDialog.ShowDialog();}private void Button_Click_1(object sender, RoutedEventArgs e){//有相关设置//打开最基本的打印对话框PrintDialog printDialog = new PrintDialog();// 设置所有页printDialog.PageRangeSelection = PageRangeSelection.AllPages;// 设置是否启用用户页面范围printDialog.UserPageRangeEnabled = true;// 设置是否启用当前页面printDialog.CurrentPageEnabled = true;// 设置是否启用选定页面printDialog.SelectedPagesEnabled = true;//显示bool? print = printDialog.ShowDialog();if (print == true){//点击了打印按钮//获取打印区域宽度和高度double printableAreaWidth = printDialog.PrintableAreaWidth;double printableAreaHeight = printDialog.PrintableAreaHeight;//显示MyLabel.Content = $"当前打印区域宽度:{printableAreaWidth},高度:{printableAreaHeight}";// 获取打印队列PrintQueue printQueue = printDialog.PrintQueue;// 获取打印票证PrintTicket printTicket = printDialog.PrintTicket;// 获取页面范围选择PageRangeSelection pageRangeSelection = printDialog.PageRangeSelection;}else{// 点击了取消按钮MessageBox.Show("取消了打印");}}}
}

基本打印弹窗
开启了自定义设置
PrintDialog

公众号“点滴分享技术猿

关注

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/644296.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

制作编写使用说明书:在结构、风格与内容方面需要注意什么?

如今&#xff0c;一个清晰、简洁、易于理解的使用说明书不仅能够帮助用户正确地使用产品&#xff0c;还能提升用户体验并树立品牌形象。而制作编写一份优质的使用说明书需要我们在结构、风格与内容三个方面下功夫。那么在制作编写使用说明书时需要注意哪些关键要素呢&#xff1…

【JavaWeb】日程管理系统 项目搭建 第二期

文章目录 一、数据库准备二、导入依赖 与 JDBC工具类三、pojo包处理四、daodao包工具类 五、service六、controllerservlet 基类 反射 七、加密工具类 MD5八、页面文件九、业务代码9.1 注册业务处理9.2 登录业务处理 总结 一、数据库准备 创建数据库&#xff1a; SET NAMES …

vue折叠展开transition动画使用keyframes实现

需求&#xff0c;我正常的菜单功能有隐藏与显示功能&#xff0c;需要增加动画 打开的时候宽度从0到300&#xff0c;关闭的时候&#xff0c;宽度从300到0 <template> <div id"app"> <button click"toggleLength">Toggle Length</bu…

骨传导耳机综评:透视南卡、韶音和墨觉三大品牌的性能与特点

在当前的蓝牙音频设备领域中&#xff0c;骨传导蓝牙运动耳机以其出色的安全特性和舒适的体验&#xff0c;受到了健身爱好者们的广泛好评。这类耳机不同于我们常见的入耳式耳机&#xff0c;它的工作方式是直接通过振动将声音传递到用户的耳骨中&#xff0c;这样既可以享受音乐&a…

【nowcoder】链表的回文结构

牛客题目链接 链表的回文结构 /* struct ListNode {int val;struct ListNode *next;ListNode(int x) : val(x), next(NULL) {} };*/ #include <cstdlib> // 建议大伙自己对照我的代码画下图&#xff0c;假设A链表是&#xff1a;1 2 3 2 1 class PalindromeList { publi…

【学网攻】 第(7)节 -- 生成树配置

文章目录 【学网攻】 第(1)节 -- 认识网络【学网攻】 第(2)节 -- 交换机认识及使用【学网攻】 第(3)节 -- 交换机配置聚合端口【学网攻】 第(4)节 -- 交换机划分Vlan【学网攻】 第(5)节 -- Cisco VTP的使用【学网攻】 第(6)节 -- 三层交换机实现VLAN间路由 前言 网络已经成为…

vscode 如何指定启动文件?

launch.json 里面可以指定&#xff0c;launch.json 在打开文件夹的时候可以创建&#xff0c;或者手动创建

不合格机器人工程讲师再读《悉达多》-2024-

一次又一次失败的经历&#xff0c;让我对经典书籍的认同感越来越多&#xff0c;越来越觉得原来的自己是多么多么的无知和愚昧。 ----zhangrelay 唯物也好&#xff0c;唯心也罢&#xff0c;我们都要先热爱这个世界&#xff0c;然后才能在其中找到自己所热爱的事业。 ----zh…

【OpenCV】P2 程序加载显示图片

目录 四个步骤读取图像创建窗口显示图像释放内存 完整代码 在 Opencv 中&#xff0c;如果想要加载展示一张图片&#xff0c;有以下几个步骤&#xff1a; 读取图像&#xff1a;根据指定路径读取图像&#xff0c;将图像转化为数字矩阵形式&#xff1b;创建窗口&#xff1a;创建图…

vue2项目打包到测试环境之后报错require is not defined

配置打包命令npm run build:test到测试环境之后报错&#xff0c;打包到生产环境没有问题&#xff0c;查找了项目中的require引入似乎也没啥有问题的地方&#xff0c;所以排除是require的原因 环境变量文件&#xff1a; 打包指令&#xff1a; 解决办法&#xff1a; 将.env.tes…

【vue开发示例介绍】

vue开发示例介绍 1. 开发示例1.1 做一个自定义组件Welcome1.2 增加“用户管理”和“关于我们”组件1.3 嵌套路由 1. 开发示例 1.1 做一个自定义组件Welcome 1&#xff09; 在components下创建一个Welcome.vue自定义组件 <template><div class"hello">…

九、C++结构体(1)

一、结构体概念 结构体属于用户自定义的数据类型&#xff0c;允许用户存储不同的数据类型 二、结构体定义和使用 语法&#xff1a; struct 结构体名 {结构体成员列表}; 通过结构体创建变量的方式有三种&#xff1a; 1、struct 结构体名 变量名 2、struct 结构体名 变量名…

[docker] Docker 网络和Cgroup

一、Docker 网络 1.1 Docker 网络实现原理 Docker使用Linux桥接&#xff0c;在宿主机虚拟一个Docker容器网桥(docker0)&#xff0c;Docker启动一个容器时会根据Docker网桥的网段分配给容器一个IP地址&#xff0c;称为Container-IP&#xff0c;同时Docker网桥是每个容器的默认…

go语言模板处理包text/template详解

本文对go语言内置模板处理包"text/template"常用操作汇总进行了详解&#xff0c;非常全面&#xff0c;一次搞定你的问题&#xff01;还不收藏等啥呢&#xff01; 目录 通用结构体定义 通用转换 1&#xff0c;基础操作 2&#xff0c;解析文件 3&#xff0c;自定义…

【C/C++】C/C++编程——C++ 开发环境搭建

C的开发环境种类繁多&#xff0c;以下是一些常见的C 集成开发环境&#xff1a; AppCode &#xff1a;构建与JetBrains’ IntelliJ IDEA 平台上的用于Objective-C&#xff0c;C,C&#xff0c;Java和Java开发的集成开发环境CLion&#xff1a;来自JetBrains的跨平台的C/C的集成开…

《动手学深度学习(PyTorch版)》笔记2

Chapter2 Preliminaries 2.1 Automatic Differentiation 让计算机实现微分功能&#xff0c; 有以下四种方式&#xff1a; - 手工计算出微分&#xff0c; 然后编码进代码 - 数值微分 (numerical differentiation) - 符号微分 (symbolic differentiation) - 自动微分&#xff0…

java web mvc-03-JFinal

拓展阅读 Spring Web MVC-00-重学 mvc mvc-01-Model-View-Controller 概览 web mvc-03-JFinal web mvc-04-Apache Wicket web mvc-05-JSF JavaServer Faces web mvc-06-play framework intro web mvc-07-Vaadin web mvc-08-Grails JFinal JFinal 是基于 Java 语言的极…

go语言基本类型

Golang 更明确的数字类型命名&#xff0c;支持 Unicode&#xff0c;支持常用数据结构。 类型长度(字节)默认值说明bool1falsebyte10uint8rune40Unicode Code Point, int32int, uint4或8032 或 64 位int8, uint810-128 ~ 127, 0 ~ 255&#xff0c;byte是uint8 的别名int16, uin…

Prompt Engineering

目录 什么是提示工程 什么是提示工程 在当今人工智能领域&#xff0c;提问大型语言模型&#xff08;Large Language Models&#xff0c;LLM&#xff09;已经成为一种常见的实践&#xff0c;但如何向这些模型提出问题&#xff0c;或者更准确地说&#xff0c;如何引导它们产生期…

Shell脚本③条件语句、if命令和case命令

目录 一.条件语句 1.test测试条件表达式 2.整数数值比较 &#xff08;1&#xff09;比较两个整数大小 &#xff08;2&#xff09;查看系统剩余内存是否低于1024M 3.逻辑测试 4.三元运算符 二.if命令 1.单分支结构 2.双分支结构 3.多分支结构 三.case语句 四.脚本 …