Esiste un piccolo trucco per stampare qualsiasi file usando VB.Net, senza dovere scrivere troppe linee di codice. Si tratta di utilizzare i "PROCESSI", per stampare QUALUNQUE documento, purché esso sia associato ad un'applicazione in grado di aprirlo. C'è il solo inconveniente di vedere avviare l'applicazione associata al file scelto.
Se ad esempio, usando questo codice, tentiamo di stampare un file immagine, che di default viene aperto con Paint, nel momemto in cui iniziamo il processo di stampa, si apre anche Paint.
Personalmente non amo questo genere di scorciatoie, ma visto che esistono, tanto vale conoscerle per poterle usare se si presenta l'occasione utile.
Public Class Form1 Private WithEvents btnStampa As New Windows.Forms.Button Private WithEvents OpenFileDialog1 As New Windows.Forms.OpenFileDialog Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load Me.Size = New Size(300, 300) With btnStampa .Size = New Size(90, 30) .Location = New Point(97, 160) .Text = "Stampa file" End With Me.Controls.Add(btnStampa) End Sub Private Sub btnStampa_Click(sender As Object, e As System.EventArgs) Handles btnStampa.Click If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then Dim processo As New Process processo.StartInfo.Verb = "Print" processo.StartInfo.FileName = OpenFileDialog1.FileName processo.Start() End If End Sub End Class