【问题标题】:Emulate document with dynamic data [closed]使用动态数据模拟文档[关闭]
【发布时间】:2013-06-20 03:40:17
【问题描述】:

我已经制作了一个 WinForms 应用程序,我需要在屏幕上显示一个带有文本和图像的格式化文档。

我已经搜索了很多选项,我已经放弃了报告服务和水晶报告,因为我只需要一张表并且我不需要报告服务器。

哪个可能是最好的选择?我唯一需要的是生成一个包含文本和图像的文档,然后将生成的文档显示在屏幕上并打印出来。

非常感谢。

【问题讨论】:

  • 你的意思是打印预览之类的吗?
  • 是的,或多或少,但我需要将图像和文本放入模板中
  • PDF(您需要第三方库),或生成图像并发送到打印预览。实际上,HTML 可能是最简单的。
  • 我也放弃了 PDF,因为我需要在 winforms 屏幕中显示而不使用 adobe reader 之类的 pdf 客户端。 html解决方案有什么好的教程吗?
  • @uoah - 关于如何编写 HTML、如何将文本 (HTML) 写入文件或如何让 WinForms 打开浏览器以显示存储在本地硬盘上的 HTML 文档的教程?

标签: c# winforms


【解决方案1】:

坏消息是,winforms 是一个没用的恐龙,不支持类似的东西。

好消息是 .Net 有一个更好、更新和更强大的 UI 框架,称为 WPF,它确实有一个一致的 Document Model,您可以使用它来创建各种文档(包括所见即所得的文档)。

一些 WPF FlowDocument 示例:

此时您可能会想……那么,我该怎么办?我是否只是废弃现有的 winforms 应用程序并重新开始使用当前的、相关的、无用的非恐龙技术?嗯,这总是一个好主意,但并不总是可能的。因此我的建议是您利用ElementHost winforms 控件将 WPF 文档功能集成到您现有的 winforms 应用程序中

【讨论】:

  • 谢谢,但是我需要显示和打印非常简单,我不需要 wpf 但在不久的将来我会学习它并开始迁移我的 winform 应用程序。
  • @uoah 如果您“不需要 WPF”(这是我无法真正理解的),那么您为什么不直接使用纯 winforms 的功能呢?
  • 我的应用程序是一个winforms基本应用程序,可以管理客户和每个客户的n个工作表。所有都是带有数据的基本列表视图,那是因为我说不需要 WPF。基本问题是如何向用户显示工作表信息。
  • @uoah 请再次阅读我的回答。您只能使用 WPF 来完成相关的 Document 部分,其余部分保持原样。
  • 是的,我知道,我在 WPF 之前使用过 winforms 中的 elementHost。无论如何,我解决了嵌入一个 html 导航器。
猜你喜欢
  • 2010-09-09
  • 2023-01-17
  • 2012-09-04
  • 1970-01-01
  • 2019-12-25
  • 2018-04-09
  • 2019-02-03
  • 1970-01-01
  • 2020-09-10
相关资源
最近更新 更多