hr5204562 发表于 2014-9-23 15:04:00

TX TextControl 打印 无法设置打印页码如:打印3-5页


虽然存在第五页,但是打印设置里面还是认为不多于1页,所以只有选择全部,无法设置打印页码。
      private void withCustomizedDialogToolStripMenuItem1_Click(object sender, EventArgs e)
      {
            PrintDialog myPrintDialog = new PrintDialog();
            PrintDocument myPrintDocument = new PrintDocument();

            myPrintDialog.Document = myPrintDocument;
            myPrintDialog.AllowSomePages = false;
            myPrintDialog.AllowPrintToFile = false;
            myPrintDialog.PrinterSettings.FromPage = 3;
            myPrintDialog.PrinterSettings.ToPage = 5;

            if (myPrintDialog.ShowDialog() == DialogResult.OK)
            {
                textControl1.Print(myPrintDocument);
            }
      }


但是如果直接调用控件的打印方法,就可以选择页码
private void withBuiltInDialogToolStripMenuItem_Click(object sender, EventArgs e)
      {
            textControl1.Print("My Print Job");
      }


猜测是第一种方法重新实例化的myPrintDocument对象是没有内容的,所以打印程序认为不需要选择页码,直接全部打印,所以程序中设置的
            myPrintDialog.PrinterSettings.FromPage = 3;
            myPrintDialog.PrinterSettings.ToPage = 5;

也是没有效果的。

改怎么解决这个问题?

hr5204562 发表于 2014-9-23 15:05:00

这是第一张图片

Alice 发表于 2014-9-23 20:02:00

回复 2楼hr5204562的帖子

有关打印可以参考我们的博客:
http://blog.gcpowertools.com.cn/post/2012/11/16/TX-Text-Control-NET-产品使用指南(3)打印操作.aspx
根据你的需求和代码,需要将PrintDialog的AllowSomePages属性设置为true,PageOption的Radiobutton才会变成可用状态。

hr5204562 发表于 2014-9-24 11:07:00

回复 3楼Alice的帖子

有没有不弹框直接打印3-5页,或者弹框默认选中页码打印

Alice 发表于 2014-9-24 11:29:00

回复 4楼hr5204562的帖子

3楼的链接:http://blog.gcpowertools.com.cn/post/2012/11/16/TX-Text-Control-NET-产品使用指南(3)打印操作.aspx
博客里有详细的操作,第三节介绍的就是直接打印。代码参考:
private void mnuFile_Print_WithoutDialog_Click(object sender, System.EventArgs e)
{
    PrintDocument myPrintDocument = new PrintDocument();
    myPrintDocument.PrinterSettings.FromPage = 1;
    myPrintDocument.PrinterSettings.ToPage = 3;
    txTextControl1.Print(myPrintDocument);
}

hr5204562 发表于 2014-9-24 11:41:00

回复 5楼Alice的帖子

就是你们的这个例子,但是这样设置无用

Alice 发表于 2014-9-24 18:19:00

回复 6楼hr5204562的帖子

请问,是如何设置无用?是说这个值设置完了打印出来不是1到3页么?还是其他的意思?

hr5204562 发表于 2014-9-25 11:22:00

回复 7楼Alice的帖子

private void withoutDialogToolStripMenuItem_Click(object sender, EventArgs e)
      {
            PrintDocument myPrintDocument = new PrintDocument();

            myPrintDocument.PrinterSettings.FromPage = 2;
            myPrintDocument.PrinterSettings.ToPage = 3;
            textControl1.Print(myPrintDocument);
      }
这样的代码,依然会打印1,2,3三页,而不是2,3这两页。也就是说还是打印的全部

Alice 发表于 2014-9-25 14:23:00

回复 8楼hr5204562的帖子

如果打印特定的页,除了FromPage和ToPage,还需要设置PrintRange属性。
请添加代码:
myPrintDoc.PrinterSettings.PrintRange = PrintRange.SomePages;
页: [1]
查看完整版本: TX TextControl 打印 无法设置打印页码如:打印3-5页