c#打印范围1

 
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Text;
  7. using System.Windows.Forms;
  8. using System.Drawing.Printing;
  9. using System.Drawing.Drawing2D;
  10. namespace WindowsApplication3
  11. {
  12.     public partial class Form10 : Form
  13.     {
  14.         int totalPage = 13;
  15.         int page;
  16.         string filename = "myfile.txt";
  17.         Font printerfont = null;
  18.         public Form10()
  19.         {
  20.             InitializeComponent();
  21.         }
  22.         static Rectangle GetRealPageBounds(PrintPageEventArgs e, bool preview)
  23.         {
  24.             if (preview) return e.MarginBounds;
  25.             float cx = e.PageSettings.HardMarginX;
  26.             float cy = e.PageSettings.HardMarginY;
  27.             float dpix = e.Graphics.DpiX;
  28.             float dpiy = e.Graphics.DpiY;
  29.             Rectangle marginBounds = e.MarginBounds;
  30.             marginBounds.Offset((int)(-cx * 100 / dpix), (int)(-cy * 100 / dpiy));
  31.             return marginBounds;
  32.         }
  33.         private void button1_Click(object sender, EventArgs e)
  34.         {
  35.             this.printDocument1.DocumentName = this.filename;
  36.             this.pageSetupDialog1.Document = this.printDocument1;
  37.             this.printDocument1.PrinterSettings.FromPage = 1;
  38.             this.printDocument1.PrinterSettings.ToPage = totalPage;
  39.             this.printDocument1.PrinterSettings.MinimumPage = 1;
  40.             this.printDocument1.PrinterSettings.MaximumPage = totalPage;
  41.             this.printDialog1.AllowSomePages = true;
  42.             this.pageSetupDialog1.ShowDialog();
  43.             
  44.             this.printDialog1.Document = this.printDocument1;
  45.             if (this.printDialog1.ShowDialog() == DialogResult.OK)
  46.             {
  47.                 this.printDocument1.Print();
  48.             }
  49.         }
  50.         private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
  51.         {
  52.             Graphics g = e.Graphics;
  53.             bool preview = false;
  54.             RectangleF realMarginBounds = GetRealPageBounds(e, preview);
  55.             g.DrawString("Content", printerfont, Brushes.Red, realMarginBounds);
  56.         }
  57.         private void printDocument1_EndPrint(object sender, System.Drawing.Printing.PrintEventArgs e)
  58.         {
  59.             printerfont.Dispose();
  60.             printerfont = null;
  61.         }
  62.         private void printDocument1_BeginPrint(object sender, System.Drawing.Printing.PrintEventArgs e)
  63.         {
  64.             printerfont = new Font("Lucida Console", 72);
  65.         }
  66.     }
  67. }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值