C# 关于默认打印纸张的设置
很多朋友在设置好打印纸张,再次启动软件后打印设置又恢复为默认值。希望能把默认设置改为修改后的,再次启动软件后还能保持上次的纸张设置,在这里我给出了完整的解决方案,如果有朋友能有更好的解决方案希望不吝赐教。下面是代码:
/// <summary>
/// 读取指定名称的注册表的值
/// </summary>
/// <param name="name">注册表值</param>
/// <returns></returns>
private string GetRegistData(string name)
{
string registData;
RegistryKey hkml = Registry.LocalMachine;
RegistryKey software = hkml.OpenSubKey("SOFTWARE", true);
RegistryKey aimdir = software.OpenSubKey("打印设置", true);
registData = aimdir.GetValue(name).ToString();
return registData;
}
/// <summary>
/// 注册表中写数据
/// </summary>
/// <param name="name">注册表</param>
/// <param name="tovalue">值</param>
private void WTRegedit(string name, string tovalue)
{
RegistryKey hklm = Registry.LocalMachine;
RegistryKey software = hklm.OpenSubKey("SOFTWARE", true);
RegistryKey aimdir = software.CreateSubKey("打印设置");
aimdir.SetValue(name, tovalue);
}
/// <summary>
/// 打印设置,在打印前调用此函数即可
/// </summary>
/// <param name="bShowPrintSet">是否显示打印设置</param>
private void PrintSettingsEx(bool bShowPrintSet = false)
{
string strTemp =GetRegistData("默认纸张"); //这句是获取上次记录的纸张值
if (strTemp != null)
{
try
{
int iRawKind = Convert.ToInt32(strTemp);
foreach (PaperSize ps in printDocument.PrinterSettings.PaperSizes)
{
if (ps.RawKind == iRawKind)
{
printDocument.DefaultPageSettings.PaperSize = ps;
break;
}
}
}
catch (Exception ex)
{ }
}
if (bShowPrintSet && DialogResult.OK == printDialog.ShowDialog())
{
WTRegedit("默认纸张", printDocument.DefaultPageSettings.PaperSize.RawKind.ToString()); //这句是保存纸张值,以便下次打印时恢复,此处保存在注册表
}
}
C# 关于默认打印纸张的设置相关推荐
- android 默认光标大小设置,如何默认光标位置设置的EditText
权 我已经实现了一个EditText,我想文本开始从它是正确的,我通过一套如何默认光标位置设置的EditText gravity = right 实现,但默认光标仍然显示出来我的文字的左边. 这是我到 ...
- SAP Spartacus的pagination$ -默认的分页设置10
很多时候我们会希望 Subject 对象能够保存当前的状态,当新增订阅者的时候,自动把当前最新的值发送给订阅者.要实现这个功能,我们就需要使用 BehaviorSubject. BehaviorSub ...
- PP视频如何将默认缓存清晰度设置成超清
PP视频如何将默认缓存清晰度设置成超清呢?很多人都不会,下面小编来详细的讲解一下. PP视频如何将默认缓存清晰度设置成超清 1.先打开手机,点击桌面上的PP视频. PP视频如何将默认缓存清晰度设置成超 ...
- 计算机必须设置默认打印机,电脑系统怎么默认打印机 默认打印机的设置教程...
打印机是每个办公室的常用设备之一,我们可以通过打印机将电脑中的重要文件打印出来,常见的比如人员表.个人简历.入职资料等等,如果我们想要将电脑系统中的文件打印出来呢?那么我们就需要在系统中设置默认打印机 ...
- VC/MFC得到电脑的默认打印机、设置默认打印机、遍历电脑打印机
http://www.cnblogs.com/zhangdongsheng/archive/2012/08/24/2655090.html 得到电脑的默认打印机.设置默认打印机.遍历电脑打印机GetD ...
- bootstrap的datetimepicker使用(1.将默认的英文设置为中文2.选择日月年的时候记录之前的操作)...
参考网页 bootstrap datepicker 属性设置 以及方法和事件 1.如何将bootstrap的datepicker默认的英文设置为中文 第一步,新建一个js文件(bootstrap ...
- Creo8.0将默认单位永久设置为公制毫米的方法
Creo8.0将默认单位永久设置为公制毫米的方法 在绘制过程中,模型的长度单位非常重要,Creo软件中默认为英制单位(英寸),需要将默认单位改为公制(mm),但很多用户又不知道要怎么操作,下面小编给大 ...
- 计算机自带输入法在哪里设置方法,Windows7设置默认输入法_Win7默认输入法怎么设置?-192路由网...
在Windows 7电脑中怎么设置默认输入法?安装Windows 7系统后,系统会自带几种输入法,但是系统自带的输入法不太符合国人的使用习惯.因此,很多用户都会选择再安装一个自己使用习惯的输入法,有的 ...
- 【T+】畅捷通T+往来单位档案中默认票据类型设置为“必录”
[问题需求] 由于单据上的票据类型是和往来单位关联,避免由于往来单位中默认票据类型没有录入,导致录入单据的时候初始票据类型有问题,造成数据影响,进而将往来单位中,默认票据类型设置为必填. [解决方案] ...
最新文章
- php+mysql 大容量数据高效分页效果(弃用limit)
- SweetAlert2模态窗的使用
- 太热了,谈机房空调散散热
- 路由器有线优先吗_路由器要定时按这个键,很多人不懂,难怪网速又慢又卡!...
- Linux 可执行文件 ELF结构 及程序加载运行
- 用Java语言编写的特殊算法
- 视频号扩展链接助手小程序功能模块源码v1.5.0
- 如何使用CSS3 Border Radius属性
- elementary os(ubuntu)开启ipv6 与走SwitchyOmega代理
- 如果你的 HTML 里全是 div,那就要小心了
- git 修改tag 备注_【Git】第十二章:Git高级实战技巧
- 技术就是力量?!有人拿走百万现金,真相却是......
- LitePal(版本1.5.0,写此博客时是最新版本)
- 面向对象基础知识四:关联关系
- 论耐力,哺乳动物中人类可能是第一
- asp.net 获取当前页面html代码,在asp.net中获取当前页面的URL的方法(推荐)
- unity人物旋转移动代码_Unity实现人物旋转和移动效果
- 关于GBK编码及C语言中文输出问题
- 毕设总结(理工本科)
- Visual Studio下载安装编写C语言
热门文章
- DDOS为什么是黑客通俗的攻击手段呢?
- 【pyecharts数据可视化】python爬取去哪儿网景点数据,做交互式数据可视化
- 用Python代码来下载任意指定网易云歌曲(超详细版)
- 外键约束的作用以及如何创建外键约束
- 夫妻环卫工9年同扫一条街 为省钱住在立交桥下
- 使用C#编写一个读取和判断股票实时成交数据的小工具
- VC++ RLE压缩算法(附源码)
- centos开启防火墙端口
- 如何在html中引入一个仪表盘,仪表盘.html · 一头大水牛/前端每日总结,积累点滴! - Gitee.com...
- 虚心接受别人善意的批评