Диалогового окна printpreviewdialog - значок printdialog
Привет, ребята. PrintPreviewDialog печать кнопки печати непосредственно. Я хочу открыть экран PrintDialog и выбрать принтер. Я нашел код, но не смог его запустить. Код, который я могу запустить в C#, не работает в VB.NET-да.
Мне нужно запустить один из этих двух кодов. Заранее спасибо за вашу помощь.
Что я уже пробовал:
Код 1: Этот код работает на языке C#. VB.NET это не работает.
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
Код 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
Maciej Los
Существует ряд различий между vb.net и C#...
Эта линия:
b.Click += printPreview_PrintClick()
используется для добавления обработчика значение.
Я бы посоветовал вам прочитать это: AddHandler и RemoveHandler[^]
EssenceGold
Спасибо Тебе, Мацей Лос. благодаря твоей идее я исправил код. Код 1 теперь работает нормально.
Добавитьобработчик б.Нажмите, оператором addressof printPreview_PrintClick