Printpreviewdialog - printdialog [英] Printpreviewdialog - printdialog

查看:78
本文介绍了Printpreviewdialog - printdialog的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

你好。 PrintPreviewDialog直接打印按钮打印。我想打开PrintDialog屏幕并选择一台打印机。我找到了代码,但我无法运行它。我可以在C#中运行的代码在VB.NET中不起作用。





我需要运行这两个代码中的一个。在此先感谢您的帮助。



我尝试过:



代码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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆