找回密码
 立即注册

QQ登录

只需一步,快速开始

aad

初级会员

15

主题

39

帖子

393

积分

初级会员

积分
393
aad
初级会员   /  发表于:2017-9-21 14:29  /   查看:3122  /  回复:5
代码贴上:            System.Drawing.Printing.PrintDocument myPrintDocument = new System.Drawing.Printing.PrintDocument();  myPrintDocument.PrinterSettings.PrintRange = System.Drawing.Printing.PrintRange.SomePages;
  myPrintDialog.Document = myPrintDocument;
  myPrintDialog.AllowCurrentPage = true;
  myPrintDialog.AllowPrintToFile = true;
  myPrintDialog.AllowSelection = true;
  myPrintDialog.AllowSomePages = true;
    if (myPrintDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
     {
        this._textControl.Print(myPrintDocument);
        //this._textControl.PrintPreview(myPrintDocument);
     }

我想问下:在打印对话框中有“选定范围”打印和“当前页面”打印,也分别试过勾选上了,但是打印出来的文档仍然打印全部内容,达不到想到的效果,是没有这两个功                     能还是我代码有问题??


5 个回复

倒序浏览
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-9-21 18:44:13
沙发
通过界面上的打印对话框测试也是没有问题的,使用如下方法即可调出对话框,然后在对话框再进行具体设置
_textControl.Print("");

通过后台代码可以如下写,测试没有问题,

            System.Drawing.Printing.PrintDocument myPrintDocument = new System.Drawing.Printing.PrintDocument();
            myPrintDocument.PrinterSettings.PrintRange = System.Drawing.Printing.PrintRange.SomePages;
            myPrintDocument.PrinterSettings.FromPage = 2;
            myPrintDocument.PrinterSettings.ToPage = 4;
            _textControl.Print(myPrintDocument);
回复 使用道具 举报
aad
初级会员   /  发表于:2017-9-21 22:57:23
板凳
打印页码范围是没有问题,但我想问打印对话框中有一个“选定范围”勾选后打印,就是我们选中文字后进行输出打印,内容不是已选择的文字。还有一个是“当前页面”打印,即只打印当前页面,也没有效果,为什么会这样的??
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-9-22 16:43:22
地板
aad 发表于 2017-9-21 22:57
打印页码范围是没有问题,但我想问打印对话框中有一个“选定范围”勾选后打印,就是我们选中文字后进行输出 ...

“选定范围”这个应该是不可选的吧。您这边现在的遇到的实际情况怎样

当前页码打印用代码可以这样实现:
  1.             myPrintDocument.PrinterSettings.PrintRange= System.Drawing.Printing.PrintRange.SomePages;
  2.             myPrintDocument.PrinterSettings.FromPage = _textControl.InputPosition.Page;
  3.             myPrintDocument.PrinterSettings.ToPage = _textControl.InputPosition.Page;
  4.             _textControl.Print(myPrintDocument);
复制代码


回复 使用道具 举报
aad
初级会员   /  发表于:2017-9-25 18:07:02
5#
问题已解决,对于“选定范围”的实现,主要是根据TX 编辑器的行数进行选择,对选择的文本可在打印的时候将选中文本绘画到打印的位置。
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-9-26 18:04:28
6#
好的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部