很多朋友在设置好打印纸张,再次启动软件后打印设置又恢复为默认值。希望能把默认设置改为修改后的,再次启动软件后还能保持上次的纸张设置,在这里我给出了完整的解决方案,如果有朋友能有更好的解决方案希望不吝赐教。下面是代码:

/// <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# 关于默认打印纸张的设置相关推荐

  1. android 默认光标大小设置,如何默认光标位置设置的EditText

    权 我已经实现了一个EditText,我想文本开始从它是正确的,我通过一套如何默认光标位置设置的EditText gravity = right 实现,但默认光标仍然显示出来我的文字的左边. 这是我到 ...

  2. SAP Spartacus的pagination$ -默认的分页设置10

    很多时候我们会希望 Subject 对象能够保存当前的状态,当新增订阅者的时候,自动把当前最新的值发送给订阅者.要实现这个功能,我们就需要使用 BehaviorSubject. BehaviorSub ...

  3. PP视频如何将默认缓存清晰度设置成超清

    PP视频如何将默认缓存清晰度设置成超清呢?很多人都不会,下面小编来详细的讲解一下. PP视频如何将默认缓存清晰度设置成超清 1.先打开手机,点击桌面上的PP视频. PP视频如何将默认缓存清晰度设置成超 ...

  4. 计算机必须设置默认打印机,电脑系统怎么默认打印机 默认打印机的设置教程...

    打印机是每个办公室的常用设备之一,我们可以通过打印机将电脑中的重要文件打印出来,常见的比如人员表.个人简历.入职资料等等,如果我们想要将电脑系统中的文件打印出来呢?那么我们就需要在系统中设置默认打印机 ...

  5. VC/MFC得到电脑的默认打印机、设置默认打印机、遍历电脑打印机

    http://www.cnblogs.com/zhangdongsheng/archive/2012/08/24/2655090.html 得到电脑的默认打印机.设置默认打印机.遍历电脑打印机GetD ...

  6. bootstrap的datetimepicker使用(1.将默认的英文设置为中文2.选择日月年的时候记录之前的操作)...

    参考网页    bootstrap datepicker 属性设置 以及方法和事件 1.如何将bootstrap的datepicker默认的英文设置为中文 第一步,新建一个js文件(bootstrap ...

  7. Creo8.0将默认单位永久设置为公制毫米的方法

    Creo8.0将默认单位永久设置为公制毫米的方法 在绘制过程中,模型的长度单位非常重要,Creo软件中默认为英制单位(英寸),需要将默认单位改为公制(mm),但很多用户又不知道要怎么操作,下面小编给大 ...

  8. 计算机自带输入法在哪里设置方法,Windows7设置默认输入法_Win7默认输入法怎么设置?-192路由网...

    在Windows 7电脑中怎么设置默认输入法?安装Windows 7系统后,系统会自带几种输入法,但是系统自带的输入法不太符合国人的使用习惯.因此,很多用户都会选择再安装一个自己使用习惯的输入法,有的 ...

  9. 【T+】畅捷通T+往来单位档案中默认票据类型设置为“必录”

    [问题需求] 由于单据上的票据类型是和往来单位关联,避免由于往来单位中默认票据类型没有录入,导致录入单据的时候初始票据类型有问题,造成数据影响,进而将往来单位中,默认票据类型设置为必填. [解决方案] ...

最新文章

  1. php+mysql 大容量数据高效分页效果(弃用limit)
  2. SweetAlert2模态窗的使用
  3. 太热了,谈机房空调散散热
  4. 路由器有线优先吗_路由器要定时按这个键,很多人不懂,难怪网速又慢又卡!...
  5. Linux 可执行文件 ELF结构 及程序加载运行
  6. 用Java语言编写的特殊算法
  7. 视频号扩展链接助手小程序功能模块源码v1.5.0
  8. 如何使用CSS3 Border Radius属性
  9. elementary os(ubuntu)开启ipv6 与走SwitchyOmega代理
  10. 如果你的 HTML 里全是 div,那就要小心了
  11. git 修改tag 备注_【Git】第十二章:Git高级实战技巧
  12. 技术就是力量?!有人拿走百万现金,真相却是......
  13. LitePal(版本1.5.0,写此博客时是最新版本)
  14. 面向对象基础知识四:关联关系
  15. 论耐力,哺乳动物中人类可能是第一
  16. asp.net 获取当前页面html代码,在asp.net中获取当前页面的URL的方法(推荐)
  17. unity人物旋转移动代码_Unity实现人物旋转和移动效果
  18. 关于GBK编码及C语言中文输出问题
  19. 毕设总结(理工本科)
  20. Visual Studio下载安装编写C语言

热门文章

  1. DDOS为什么是黑客通俗的攻击手段呢?
  2. 【pyecharts数据可视化】python爬取去哪儿网景点数据,做交互式数据可视化
  3. 用Python代码来下载任意指定网易云歌曲(超详细版)
  4. 外键约束的作用以及如何创建外键约束
  5. 夫妻环卫工9年同扫一条街 为省钱住在立交桥下
  6. 使用C#编写一个读取和判断股票实时成交数据的小工具
  7. VC++ RLE压缩算法(附源码)
  8. centos开启防火墙端口
  9. 如何在html中引入一个仪表盘,仪表盘.html · 一头大水牛/前端每日总结,积累点滴! - Gitee.com...
  10. 虚心接受别人善意的批评