Tyke 发表于 2022-7-6 22:35:10

将列表框数据直接发送到pr

是否可以将列表框中显示的所有数据直接发送到系统打印机,即使您必须向下滚动才能看到所有数据?

BlackBox 发表于 2022-7-6 22:53:11

我不确定列表框数据是什么,但如果您想打印数据,我假设数据列表中的项目表示图形(或文件)名称?
 
在这种情况下,您可以使用使用列表或字典作为参数的子对象,然后迭代参数项(如果是System.IO.File(item))。Exists=True Then…)要将项目发送到系统打印机,是否?

fixo 发表于 2022-7-6 23:06:32

你不能直接做
有两种方法
最简单的方法是将数据推入。csv文件,然后从那里打印出来
最困难的方法是编写自己的ListBoxPrinting类,比如
仅针对我在codeproject上看到的DatagridView。通用域名格式

Tyke 发表于 2022-7-6 23:16:34

 
列表框中的数据是从GIS系统导出的各种对象上的所有扩展数据,需要用户轻松读取。数据的描述和键有点模糊,程序显示逻辑描述及其相关值(例如安装日期:2001年10月26日,或制造商:Big Fish Industries))。对于某些对象,有60多个扩展数据,用户单击按钮并立即打印出扩展数据将非常有用。我已经有了一个将数据保存到文件的按钮,但有时这对这个小家伙来说是一个很大的打击。
 
fixo-正如我对RenderMan所说的那样,已经有了一个将数据保存到ascii文件的选项,从那里打印出来非常简单,但这需要很长时间,我需要通过单击一个按钮来完成。我有一个似乎有效的解决方法,我正在测试它。也就是说,要有一个不向用户显示的表单,并且表单上只有一个列表框,没有任何其他控件。当查询对象并在屏幕上显示其扩展数据时,如果用户点击打印按钮,则数据会在后台写入ListBox,我使用表单。PrintForm方法,将数据立即打印到当前系统打印机。在对未显示表单上的列表框大小进行了调整后,我现在得到了一张带有漂亮边框的A4纸,在进入滚动模式之前可以显示80行文本,因为我们永远不会得到80行数据,我认为我可以接受结果。当我们在DOS环境下工作,没有网络打印机时,这要容易得多。我必须去找ListBoxPrinting类,谢谢你的提示。

Jeff H 发表于 2022-7-6 23:26:42

您也可以使用PrintDocument对象。
 
在PrintPage事件中使用e.Graphics。采用矩形作为边界框的抽绳版本。

Tyke 发表于 2022-7-6 23:39:06

 
谢谢你的信息杰夫。我在VBA工作,我不太确定这是否可行。但是,如果我们找到了这份工作,那么将VBA移植到其中是值得的。NET,然后这将很好地工作。
页: [1]
查看完整版本: 将列表框数据直接发送到pr