vb.net自定义打印 vb如何实现打印

vb.net如何实现打印DataGridView1里的内容,求源码使用 PrintDocument 控件vb.net自定义打印的 Print() 方法可以打印指定对象中vb.net自定义打印的内容vb.net自定义打印,参考代码如下vb.net自定义打?。?
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
PrintDocument1.Print()
End Sub
Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
Dim bm As New Bitmap(Me.DataGridView1.Width, Me.DataGridView1.Height)
DataGridView1.DrawToBitmap(bm, New Rectangle(0, 0, Me.DataGridView1.Width, Me.DataGridView1.Height))
e.Graphics.DrawImage(bm, 0, 0)
End Sub
vb.net 打印功能可以把数据导出到EXCEL,然后使用EXCEL进一步处理后使用 。
也可以做成vb报表(VB自带有) 。
先设置报表格式,打印时向报表传递数据就可以了 。
vb.net怎么打印执行代码行数如何在VB.net中的应用程序运行打印行数
[英] how to print out line number during application run in VB.net
查看vb.net自定义打?。?41 发布时间:2015/11/25 16:05:39 .net vb.net debugging stack-trace line-numbers
万维广告联盟
?? 杜绝删库跑路 。一个平台登录所有资产vb.net自定义打印,实现事先防范、事中控制、事后溯源vb.net自定义打印,满足等保合规要求 。
广告
本文介绍了如何在VB.net中的应用程序运行打印行数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
vb.net自定义打印我想打印出我的调试消息,在VB.net应用程序的行号 。我不喜欢这样 ,
Dim st As StackTrace
Dim sf As StackFramee
st = New StackTrace(New StackFrame(True))
sf = st.GetFrame(0)
Console.WriteLine.("Line "sf.GetFileLineNumber())
我想把片段的一类,每次我打电话logMsg方法来记录我的消息,行号源$ C $ C 。但我发现,如果我把上面的代码段为一类,行数总是相同的,这是我新的'圣' 。行
的功能是完全一样的具有_ 行的宏C。其实我是C程序员 。
反正来解决这个问题?谢谢 。
推荐答案
【vb.net自定义打印 vb如何实现打印】您已经证明是工作完全按预期的code 。它打印在您拍摄的堆栈帧行的数目 。因为vb.net自定义打印你已经在不同的类中定义它 , 它打印包含类文件的行号 。
在的getFrame 方法 , 在这里是非常重要的 。栈帧起始编号是0,这是的最后的堆栈帧推 。因此,参考帧0,则指示打印的最后的堆栈被推帧的行数的运行时间 。当一个方法调用另一个,一个新的堆栈帧创建 。
相反 , 你需要改变你的方法在几个重要方面 。首先,你需要获得的第一个的框架被压入堆栈 。第二,你可能要接受有关您回应异常含参数的信息 。尝试重写你的调试方法看起来是这样的:
Public Sub PrintCurrentLine(ByVal ex As Exception)
Dim st As StackTrace = New StackTrace(ex)
Dim sf As StackFrame = st.GetFrame(st.FrameCount - 1)
Console.WriteLine("Line "sf.GetFileLineNumber())
End Sub
还要记?。?如果你正在运行的code与优化启用 , 像行号可能已经改变 。你总是需要包括PDB文件与您的code,它包含调试用于在这样的情况的信息 。它映射优化code回到原来的来源 。
这篇关于如何在VB.net中的应用程序运行打印行数的文章就介绍到这了 , 希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
VS2005如何用VB.NET代码实现打印功能有个PrintDocument控件,可以实现打印 。。。
MSDN原话:
使用 PrintDocument 组件
涉及 PrintDocument 组件的两种主要情况是:
简单的打印作业,如打印单个文本文件 。在这种情况下,应将 PrintDocument 组件添加到 Windows 窗体 , 然后在 PrintPage 事件处理程序中添加打印文件的编程逻辑 。该编程逻辑应以使用 Print 方法打印文档结束 。
此方法向打印机发送一个 Graphics 对象,该对象包含在 PrintPageEventArgs 类的 Graphics 属性中 。
有关如何使用 PrintDocument 组件打印文本文档的示例,请参见
如何:打印 Windows 窗体中的多页文本文件 。
更为复杂的打印作业,如想要重新使用已编写的打印逻辑的情况 。
在这种情况下,应从 PrintDocument 组件派生一个新组件,并重写
(请参见 Visual Basic 的 重写或 C# 的 重写) PrintPage 事件 。
将 PrintDocument 组件添加到窗体后,它出现在 Windows 窗体设计器底部的栏中
vb.net Document_PrintPag 打印我帮你把最后一部分的语句顺序调换一下 。你试一试
sub button1_click()'---执行打印
Dim pd As PrintDocument = New PrintDocument
pd.PrinterSettings = PrintDialog1.PrinterSettings
If _PrintDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then
for i=0 to 1'这样可以两次截图
CaptureScreen()'--执行前面自定义函数截图
AddHandler pd.PrintPage, AddressOf Document_PrintPage
pd.Print()
Threading.Thread.sleep(100) ‘ 再加上一个间隔
next
end sub
vb.net,水晶报表打印时纸张变为信纸,打印机里面已经自定义好了纸张 , 用EXCEL,WORD就正常,请高手指点别的地方转来的!~ 不过我们以前做的时候 都是在打印机里增加一种打印纸 然后就可以选了!~
一下转载内容!~~~
水晶报表-强大而成熟,但是多少男儿汉败倒在他的自定义纸张设置上 。
1:水晶报表是纸形打印 。所以自定义纸张类打印肯定要在电脑上增加对应的纸张才行(手动加还是代码加这个不管)
2:纸张分3种系统内建(不可更改) , 自定义,打印机自带 。很遗憾的是水晶只认系统内建的 。
3:打印机一般分2种 。1普通喷墨的A4,2有联单的针式
4:注意水晶报表不是所见所得的 , 预览的纸张是什么不一定打印的就是什么纸张(受3方影响 。打印机、报表内设置、PAPERSIZE 属性,三者之间关系不详) 。
5:对于第一种A4纸张 。没什么好说的系统内建纸型 。水晶报表认 。直接指定就行
6:对于第二种联单的自定义型一般专机专用,当然是建好纸张让打印机默认自己建的纸张为默认首选了 。
7:然后设置水晶报表使用打印机默认的纸张PaperSize = CrystalDecisions.Shared.PaperSize.DefaultPaperSize
以上能保证专机专纸的任何打印 。:要注意第4点 。如果你是自定义纸而且要预览要保障预览和打印都用指定的纸张,那么预览时你得指定PaperSize=你自定义纸张的索引号 。打印的时候又改成CrystalDecisions.Shared.PaperSize.DefaultPaperSize
8:如果你想一个打印机多个自定义纸张那么用API吧动态改变打印机的默认纸张,根据以上拐2弯就能实现了遗憾的是网络打印机的话就没折了 。o(︶︿︶)o 唉
vb.net自定义打印的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于vb如何实现打印、vb.net自定义打印的信息别忘了在本站进行查找喔 。

    推荐阅读