【问题标题】:How to print content of scrollable control如何打印可滚动控件的内容
【发布时间】:2011-08-17 03:47:41
【问题描述】:

我想知道打印可滚动控件的全部内容的最佳方式是什么。我试图以多种方式打印控件,但是一直以来我只能绘制控件的可见内容。到目前为止,我尝试使用

PrintForm // there is nothing I can do with this because it requires a form not a control

我也尝试使用controlName.DrawToBitmap() 方法,但是此函数仅捕获可见的控制区域。 绘制这种控件的最佳方法是什么?我想避免滚动控件的内容以捕获所有控件的元素。

【问题讨论】:

  • 这行不通。使用 PrintDocument。
  • @HansPassant PrintDocument 将如何提供帮助?我必须以某种方式将控件的内容传递给打印。我之前使用过这个组件,但是我无法传递要打印的整个控件的内容。
  • 那么,控件中有什么?请尝试更好地记录您的问题。

标签: c# winforms printing


【解决方案1】:

我建议您创建一个对最终用户不可见的表单(例如,将其放置在 (-10000, -10000) 处,并且此表单的大小应足以显示没有滚动条的 ScrollableControl。这样您将能够解决这个问题。

【讨论】:

  • 我已经尝试过这个解决方案,但是将控件添加到表单(用户不可见)需要从当前表单(用户可见的表单)中删除此控件。所以用户在打印或准备打印时可能会看到一些闪烁或类似的东西
  • 创建一个相同表单的新实例并用数据填充它。在这种情况下,当您需要打印表单时不会出现闪烁。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-08
  • 1970-01-01
  • 2010-10-11
  • 1970-01-01
相关资源
最近更新 更多