找回密码
 立即注册

QQ登录

只需一步,快速开始

qingtong1166

注册会员

13

主题

40

帖子

113

积分

注册会员

积分
113
qingtong1166
注册会员   /  发表于:2016-11-23 21:54  /   查看:3549  /  回复:9
如题:
        Dim MyPrintDoc As PrintDocument = New PrintDocument()
        MyPrintDoc.PrinterSettings.FromPage = 2
        MyPrintDoc.PrinterSettings.ToPage =3
        MyPrintDoc.PrinterSettings.PrintRange = PrintRange.SomePages
        Me.TextControl1.PrintPreview(MyPrintDoc)

这段代码打印出来是所有的页面

9 个回复

倒序浏览
gw0506
超级版主   /  发表于:2016-11-23 23:39:28
沙发
你去掉PrintRange设置这句。我测试下面代码是正确的。
  1.             PrintDocument myPrintDocument = new PrintDocument();

  2.             myPrintDocument.PrinterSettings.FromPage = 2;
  3.             myPrintDocument.PrinterSettings.ToPage = 3;
  4.             //textControl1.Print(myPrintDocument);
  5.             textControl1.PrintPreview(myPrintDocument);
复制代码
回复 使用道具 举报
qingtong1166
注册会员   /  发表于:2016-11-24 07:51:43
板凳
这是示例程序中的代码,打印出来仍然是全部的页面
Private Sub WithoutDialogToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles WithoutDialogToolStripMenuItem.Click
        Dim myPrintDocument As New System.Drawing.Printing.PrintDocument
        myPrintDocument.PrinterSettings.FromPage = 1
        myPrintDocument.PrinterSettings.ToPage = 1
        TextControl1.Print(myPrintDocument)
    End Sub
回复 使用道具 举报
qingtong1166
注册会员   /  发表于:2016-11-24 07:56:23
地板
示例程序

Printing.zip

53.2 KB, 下载次数: 53

回复 使用道具 举报
gw0506
超级版主   /  发表于:2016-11-24 15:15:59
5#
qingtong1166 发表于 2016-11-24 07:51
这是示例程序中的代码,打印出来仍然是全部的页面
Private Sub WithoutDialogToolStripMenuItem_Click(ByV ...

这个PrintDocument是.NET Framewrok的对象,所以肯定不是TextControl做了什么处理。

经过反复测试验证,最终发现了原因。有点哭笑不得啊~

要先设置PrintRange。
  1.             myPrintDocument.PrinterSettings.PrintRange = PrintRange.SomePages;
  2.             myPrintDocument.PrinterSettings.FromPage = 2;
  3.             myPrintDocument.PrinterSettings.ToPage = 3;
复制代码

回复 使用道具 举报
qingtong1166
注册会员   /  发表于:2016-11-25 09:10:02
6#
谢谢!Print问题已解决,但是  Me.TextControl1.PrintPreview(MyPrintDoc)还是不行?预览还是全部页面
回复 使用道具 举报
gw0506
超级版主   /  发表于:2016-11-25 18:13:58
7#
预览就是搞不定,设置页数不起作用。
回复 使用道具 举报
qingtong1166
注册会员   /  发表于:2016-11-27 07:04:50
8#
谢谢!
回复 使用道具 举报
gw0506
超级版主   /  发表于:2016-11-29 16:10:48
9#

这个问题目前还在等厂商确认,有结果通知你。
回复 使用道具 举报
gw0506
超级版主   /  发表于:2016-11-29 18:15:33
10#

厂商已经确认这是个Bug,建议用微软标准打印控件代替,代码如下:
  1. textControl1.Print(myPrintDocument);
  2. PrintPreviewDialog ppd = new PrintPreviewDialog();
  3. ppd.Document = myPrintDocument;
  4. ppd.ShowDialog(this)
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部