Printpreviewdialog - printdialog [英] Printpreviewdialog - printdialog
本文介绍了Printpreviewdialog - printdialog的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我需要运行这两个代码中的一个。在此先感谢您的帮助。
我尝试过:
代码1:此代码在C#中工作。 VB.NET不工作。
Private Sub Button6_Click(发送者为对象,e为EventArgs)处理Button6.Click
Dim b As New ToolStripButton
b.Image = CType(PrintPreviewDialog1.Controls(1),ToolStrip).ImageList.Images(0)
b.ToolTipText =Print
b .DisplayStyle = ToolStripItemDisplayStyle.Image
b.Click + = printPreview_PrintClick()'< -------- ERROR THIS LINE
CType(PrintPreviewDialog1.Controls(1),ToolStrip).Items。 RemoveAt(0)
CType(PrintPreviewDialog1.Controls(1),ToolStrip).Items.Insert(0,b)
PrintPreviewDialog1.StartPosition = FormStartPosition.CenterParent
PrintPreviewDialog1.WindowState = FormWindowState.Maximized
PrintPreviewDialog1.Icon = Icon
PrintPreviewDialog1.ShowDialog()
End Sub
Private Sub printPreview_PrintClick(sender As Object,e As EventArgs)
尝试
PrintDialog1.Document = PrintDocument1
如果PrintDialog1.ShowDialog()= DialogResult.OK然后
PrintDocument1.Print()
结束如果
Catch ex As Exception
结束尝试
结束子
代码2:
Private Sub PrintPreviewDialog1_Shown(sender As Object,e As EventArgs)Handles PrintPreviewDialog1.Shown
Dim ts As ToolStrip = CType(Controls(1),ToolStrip)'< ------ - 错误此行
Dim printItem As ToolStripItem = ts.Items(printToolStripButton)
with printItem
Dim myPrintItem As ToolStripItem
myPrintItem = ts.Items.Add(.Text, .Image,New EventHandler(AddressOf printPreview_PrintClick))
myPrintItem.DisplayStyle = ToolStripItemDisplayStyle.Image
ts.Items.Insert(0,myPrintItem)
End with
ts .Items.Remove(printItem)
结束Sub
Private Sub printPreview_PrintClick(sender As Object,e As EventArgs)
尝试
PrintDialog1.Document = PrintDocument1
如果PrintDialog1.ShowDialog()= DialogResult。 OK然后
PrintDocument1.Print()
结束如果
Catch ex As Exception
End Try
End Sub
解决方案
工作代码:
私有子按钮6_Click(发件人为对象,e为EventArgs)处理Button6 .Click
BufferImg()
Dim b As New ToolStripButton
b.Image = CType(PrintPreviewDialog1.Controls(1),ToolStrip).ImageList.Images( 0)
b.ToolTipText =Print
b.DisplayStyle = ToolStripItemDisplayStyle.Image
AddHandler b.Click,AddressOf printPreview_PrintClick'< --- RECPLACED CODE
CType(PrintPreviewDialog1 .Controls(1),ToolStrip).Items.Remove在(0)
CType(PrintPreviewDialog1.Controls(1),ToolStrip).Items.Insert(0,b)
PrintPreviewDialog1.StartPosition = FormStartPosition.CenterParent
PrintPreviewDialog1.WindowState = FormWindowState.Maximized
PrintPreviewDialog1.Icon = Icon
PrintPreviewDialog1.ShowDialog()
End Sub
好吧,EssenceGold的代码可以很好地完成打印作业,但它没有预览任何页面/文档。
所以,我用我的部分替换了你的部分。
私有 Sub Print_btn_Click(发件人 As 对象,e 作为 EventArgs)句柄 Print_btn.Click
Dim b As 新 ToolStripButton
b.Image = CType (PrintPreviewDialog1.Controls( 1 ),ToolStrip).ImageList.Images ( 0 )
b.ToolTipText = 打印
b.DisplayStyle = ToolStripItemDisplayStyle.Image
AddHandler b。点击, AddressOf PrintPreview_PrintClick
CType (PrintPreviewDialog1.Controls( 1 ),ToolStrip)。 Items.RemoveAt( 0 )
CType (PrintPreviewDialog1.Controls( 1 ),ToolStrip).Items.Insert( 0 ,b)
' < --------- ADDED LINES ------>
AddHandler PrintDocument1.PrintPage, AddressOf PrintDocument1_PrintPage
PrintPreviewDialog1.Document = PrintDocument1
PrintPreviewDialog1.ShowDialog()
End 子跨度>
Hi guys. PrintPreviewDialog print button printing directly. I want to open the PrintDialog screen and choose a printer. I found the code but I could not run it. The code I can run in C # does not work in VB.NET.
I need to run one of these two codes. Thanks in advance for your help.
What I have tried:
Code 1: This code is working in C#. VB.NET is not working.
Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click Dim b As New ToolStripButton b.Image = CType(PrintPreviewDialog1.Controls(1), ToolStrip).ImageList.Images(0) b.ToolTipText = "Print" b.DisplayStyle = ToolStripItemDisplayStyle.Image b.Click += printPreview_PrintClick() ' <-------- ERROR THIS LINE CType(PrintPreviewDialog1.Controls(1), ToolStrip).Items.RemoveAt(0) CType(PrintPreviewDialog1.Controls(1), ToolStrip).Items.Insert(0, b) PrintPreviewDialog1.StartPosition = FormStartPosition.CenterParent PrintPreviewDialog1.WindowState = FormWindowState.Maximized PrintPreviewDialog1.Icon = Icon PrintPreviewDialog1.ShowDialog() End Sub Private Sub printPreview_PrintClick(sender As Object, e As EventArgs) Try PrintDialog1.Document = PrintDocument1 If PrintDialog1.ShowDialog() = DialogResult.OK Then PrintDocument1.Print() End If Catch ex As Exception End Try End Sub
Code 2 :
Private Sub PrintPreviewDialog1_Shown(sender As Object, e As EventArgs) Handles PrintPreviewDialog1.Shown Dim ts As ToolStrip = CType(Controls(1), ToolStrip) '<------- ERROR THIS LINE Dim printItem As ToolStripItem = ts.Items("printToolStripButton") With printItem Dim myPrintItem As ToolStripItem myPrintItem = ts.Items.Add(.Text, .Image, New EventHandler(AddressOf printPreview_PrintClick)) myPrintItem.DisplayStyle = ToolStripItemDisplayStyle.Image ts.Items.Insert(0, myPrintItem) End With ts.Items.Remove(printItem) End Sub Private Sub printPreview_PrintClick(sender As Object, e As EventArgs) Try PrintDialog1.Document = PrintDocument1 If PrintDialog1.ShowDialog() = DialogResult.OK Then PrintDocument1.Print() End If Catch ex As Exception End Try End Sub
解决方案
Working Code:
Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click BufferImg() Dim b As New ToolStripButton b.Image = CType(PrintPreviewDialog1.Controls(1), ToolStrip).ImageList.Images(0) b.ToolTipText = "Print" b.DisplayStyle = ToolStripItemDisplayStyle.Image AddHandler b.Click, AddressOf printPreview_PrintClick ' <---RECPLACED CODE CType(PrintPreviewDialog1.Controls(1), ToolStrip).Items.RemoveAt(0) CType(PrintPreviewDialog1.Controls(1), ToolStrip).Items.Insert(0, b) PrintPreviewDialog1.StartPosition = FormStartPosition.CenterParent PrintPreviewDialog1.WindowState = FormWindowState.Maximized PrintPreviewDialog1.Icon = Icon PrintPreviewDialog1.ShowDialog() End Sub
Well, EssenceGold's code does the print job well but it didn't preview any page/document.
So, I replaced some of your lines with mine.
Private Sub Print_btn_Click(sender As Object, e As EventArgs) Handles Print_btn.Click Dim b As New ToolStripButton b.Image = CType(PrintPreviewDialog1.Controls(1), ToolStrip).ImageList.Images(0) b.ToolTipText = "Print" b.DisplayStyle = ToolStripItemDisplayStyle.Image AddHandler b.Click, AddressOf PrintPreview_PrintClick CType(PrintPreviewDialog1.Controls(1), ToolStrip).Items.RemoveAt(0) CType(PrintPreviewDialog1.Controls(1), ToolStrip).Items.Insert(0, b) '<--------- ADDED LINES------> AddHandler PrintDocument1.PrintPage, AddressOf PrintDocument1_PrintPage PrintPreviewDialog1.Document = PrintDocument1 PrintPreviewDialog1.ShowDialog() End Sub
这篇关于Printpreviewdialog - printdialog的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文