If OpenFileDialog1.ShowDialog() = DialogResult.OK Then
TextBox5.Text = ""
TextBox5.Show()
Dim sr As New System.IO.StreamReader(OpenFileDialog1.FileName)
Dim arr As ArrayList = New ArrayList()
While (sr.EndOfStream) = False
arr.Add(sr.ReadLine())
End While
sr.Close()
End If
相应调试界面如下:
图4.2文件读取界面
4.2 打印文件
Visual Studio.NET对于打印工作的进行,需引入PrintDocument类,这个类可以被想象成一部打印机,所有的打印工作就是对这部抽象的打印机进行输出。这个类也被安排在工具箱中,可以直接引用它,只要双击它就可以出现在窗体下方的组件箱。
必须在窗体上安排此对象,接着调用此对象的Print方法,此方法一被调用后就会引发PrintDocument对象的PrintPage事件,将希望的打印项目就写在这个事件程序中,系统打印机就会将结果印出来;如果程序有两页要打印就必须在PrintPage事件程序的最后设置绘图对象的HasMorePages属性,若设为True,表示再一次引发此事件执行打印工作;若设为False,则只打印一页,不再打印。
接着是PrintPage事件程序。这个程序的事件参数有两个(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs),一个是事件引发者,一个是打印参数。此Graphics就是将要打印的这个打印机,它将成为的程序在其上绘画的“一张纸”。只要使用e.Graphics就可以取得代表打印机绘图的Graphics对象,就可以将这个Graphics想像成类似PictureBox般的对象,将原来PictureBox上的绘画程序搬到这个Graphics对象。在PrintPage事件中绘图完成后,打印机就会将数据印出。
打印之前,部分的情况下必须取得用户希望的自定义设置,例如选择不同的打印机、打印机的内部特殊设置、打印的份数、打印的页面范围…。欲取得这些设置,需要调出打印对话框。工具箱中有打印对话框PrintDialog,只要双击该组件,就可以在窗体下的组件箱中新增一个打印对话框。刚才说过PrintDocument是打印的对象,当新增一个打印对话框时,欲使用此打印对话框进行该打印文件的相关设置,也必须指定欲打印的PrintDocument对象,并使用ShowDialog方法调出打印对话框。
同样,预览在工具箱也有一个PrintPreviewDialog组件可以使用,双击此组件可以在组件箱中新增一个预览对象。欲调出这个预览对话框,还是要把打印的PrintDocument对象指定给预览对话框组件,接着使用ShowDialog方法将对话框显示出来,其他部分就和一般的预览打印对话框的操作没有差别。
总结上述的各项程序,打印相关操作的流程为:创建PrintDocument对象调用PrintDocument的Print方法在PrintPage事件中写入欲打印的程序代码若欲增加打印的页面,则设置HasMorePages为True,否则为False完成。
如果需要引用打印对话框及预览打印对话框,则在上述的流程中,在创建PrintDocument后,直接将此对象指定给打印对话框或预览对话框的Document属性。此种情形下,Print方法可以不手动调用,打印对话框及预览对话框会自动调用。 基于VB.NET的辐射报警仪上位机管理软件设计(14):http://www.751com.cn/tongxin/lunwen_2658.html