
正文
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
相关问答
Q1: vb.net 打印功能
可以把数据导出到EXCEL,然后使用EXCEL进一步处理后使用。
也可以做成vb报表(VB自带有)。
先设置报表格式,打印时向报表传递数据就可以了。
Q2: vb.net怎么打印执行代码行数
如何在VB.net中的应用程序运行打印行数
[英] how to print out line number during application run in VB.net
查看vb.net自定义打印:341 发布时间: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 ++程序员。
反正来解决这个问题?谢谢。
推荐答案
您已经证明是工作完全按预期的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屋!
Q3: VS2005如何用VB.NET代码实现打印功能
有个PrintDocument控件,可以实现打印。。。
MSDN原话:
使用 PrintDocument 组件
涉及 PrintDocument 组件的两种主要情况是:
简单的打印作业,如打印单个文本文件。在这种情况下,应将 PrintDocument 组件添加到 Windows 窗体,然后在 PrintPage 事件处理程序中添加打印文件的编程逻辑。 该编程逻辑应以使用 Print 方法打印文档结束。
此方法向打印机发送一个 Graphics 对象,该对象包含在 PrintPageEventArgs 类的 Graphics 属性中。
有关如何使用 PrintDocument 组件打印文本文档的示例,请参见
如何:打印 Windows 窗体中的多页文本文件。
更为复杂的打印作业,如想要重新使用已编写的打印逻辑的情况。
在这种情况下,应从 PrintDocument 组件派生一个新组件,并重写
(请参见 Visual Basic 的 重写或 C# 的 重写) PrintPage 事件。
将 PrintDocument 组件添加到窗体后,它出现在 Windows 窗体设计器底部的栏中
Q4: 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
Q5: 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自定义打印的信息别忘了在本站进行查找喔。




