PrintPreviewControl 这么设置为什么不显示PrintDocument ?如何去掉装载时 “第几页”这个窗体??

vc815 2009-11-14 07:52:41
在窗体上放个PrintPreviewControl 和PrintDocument
在PrintDocument的PrintPage事件中
{
string text = "In docToPrint_PrintPage method.";
System.Drawing.Font printFont =
new Font("Arial", 35, FontStyle.Regular);

e.Graphics.DrawString(text, printFont,
Brushes.Black, 10, 10);
}

加了个按钮 按钮中
{
printPreviewControl1.Document = prnDocument;
}

不显示!!!!

PrintController printController = new StandardPrintController();

prnDocument.PrintController = printController;
上面的说是去掉那个窗体 ,也不好使!!

...全文
347 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
liqingtao1 2010-12-03
  • 打赏
  • 举报
回复
你可以用用 this.printPreviewControl1.InvalidatePreview();
就可以显示出来了
vc815 2009-11-17
  • 打赏
  • 举报
回复
没人用过??
vc815 2009-11-15
  • 打赏
  • 举报
回复
这个控件就是个摆设!
vc815 2009-11-14
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wuyq11 的回复:]
delegate void PrintInBackgroundDelegate();
private TextPrintDocument printDoc = new TextPrintDocument();
private void toPrint()
{
  PrintController printController = new StandardPrintController();
  printDoc.PrintController = printController;
  printDoc.PrintPage+=new PrintPageEventHandler(printDoc_PrintPage);
  PrintInBackgroundDelegate d = new
PrintInBackgroundDelegate(PrintInBackground);
  d.BeginInvoke(new AsyncCallback(PrintInBackgroundComplete), null);
}
private void printDoc_PrintPage(object sender, PrintPageEventArgs e)
{
  e.Graphics.DrawImage(pictureBox1.Image,1,1);
}

        private void PrintInBackground()
        {
            try
            {
                printDoc.Print();
            }
            catch (Exception e)
            {
             
            }
        }

        private void PrintInBackgroundComplete(IAsyncResult r)
        {}




[/Quote]

你仔细看我问题了吗????
我说的是打印预览在我的窗体中
不是后台打印
你的代码 是打印代码 而且还出现 第一页 共几页的窗体!!
wuyq11 2009-11-14
  • 打赏
  • 举报
回复
delegate void PrintInBackgroundDelegate();
private TextPrintDocument printDoc = new TextPrintDocument();
private void toPrint()
{
PrintController printController = new StandardPrintController();
printDoc.PrintController = printController;
printDoc.PrintPage+=new PrintPageEventHandler(printDoc_PrintPage);
PrintInBackgroundDelegate d = new
PrintInBackgroundDelegate(PrintInBackground);
d.BeginInvoke(new AsyncCallback(PrintInBackgroundComplete), null);
}
private void printDoc_PrintPage(object sender, PrintPageEventArgs e)
{
e.Graphics.DrawImage(pictureBox1.Image,1,1);
}

private void PrintInBackground()
{
try
{
printDoc.Print();
}
catch (Exception e)
{

}
}

private void PrintInBackgroundComplete(IAsyncResult r)
{}



资源下载链接为: https://pan.quark.cn/s/1bfadf00ae14 在C#编程环境中,PrintDocument是实现应用程序打印功能的关键组件,属于Windows Forms控件。它能帮助开发者创建自定义的打印输出,包括多页打印等。在该项目中,PrintDocument用于创建打印功能,主要用来打印合格证。该功能不仅涵盖基本打印操作,还具备打印设置、页面设置和打印预览等高级特性。 PrintDocument是System.Drawing.Printing命名空间下的一个类,用于控制打印流,包括定义文档的页面设置和绘图等。开发者可重写OnPrintPage事件处理程序,自定义纸上绘制内容。在多页打印方面,PrintDocument通过在OnPrintPage事件中绘制每一页内容实现。若需打印多页,开发者需在该事件中判断当前页面是否为最后一页,若不是,则调用e.HasMorePages = true;,以指示还有更多页面需打印;所有页面打印完成后,e.HasMorePages应设为false。 页面设置涉及纸张大小、方向(横向或纵向)及页边距等参数。PrintDocument通过PrintPageEventArgs对象的PageSettings属性,可访问和修改这些设置。用户可借助界面元素(如PageSetupDialog对话框)调整这些设置,并将其应用到PrintDocument。 打印预览是用户在实际打印前查看文档外观的重要功能。在C#中,可使用PrintPreviewControlPrintPreviewDialog实现。将PrintDocument绑定到预览控件后,用户可在屏幕上看到即将打印的内容,进而进行调整。 VS2005即Visual Studio 2005,是支持C#编程的集成开发环境(IDE)。在VS2005中,开发者可利用其丰富的设

4,819

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 图表区
社区管理员
  • 图表区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧