Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - [VB.NET] Stampare un file da una form di esplorazione
Forum - C# / VB.NET - [VB.NET] Stampare un file da una form di esplorazione

Avatar
wuolfit (Normal User)
Pro


Messaggi: 95
Iscritto: 19/07/2011

Segnala al moderatore
Postato alle 10:31
Giovedì, 01/09/2011
Salve a tutti,
il mio problema è il seguente, sto creando un progetto in vb.net all'interno del quale vi è una form di esplorazione, ora vorrei fare in modo che l'utente una volta selezionato un file dalla listview e premuto il pulsante stampa, presente nel menu file, possa stampare suddetto file(deve essere un qualcosa indipendente dal tipo di file) ed avrei pensato a 2 possibili soluzioni che prevedono entrambe che si apra la printdialog per la selezione della stampante.
La prima soluzione è la seguente:

Codice sorgente - presumibilmente VB.NET

  1. Private Sub PrintToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PrintToolStripMenuItem.Click
  2.         If PrintDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then     'Se nella finestra di dialogo si preme OK...
  3.             PrintDocument1.Print(ListView.SelectedItems)                                          'Si stampa il contenuto della Sub "PrintDocument1_PrintPage"
  4.         Else                                                                'Altrimenti...
  5.             Exit Sub                                                        'Esco dalla sub
  6.         End If
  7.     End Sub



Mentre la seconda soluzione è la seguente :

Codice sorgente - presumibilmente VB.NET

  1. Private Sub PrintToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PrintToolStripMenuItem.Click
  2.         Dim printp As New Process
  3.         If PrintDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then     'Se nella finestra di dialogo si preme OK...
  4.             printp.StartInfo.FileName = ListView.SelectedItems    
  5.             printp.StartInfo.Verb = "Print"
  6.             printp.Start()
  7.         Else                                                                'Altrimenti...
  8.             Exit Sub                                                        'Esco dalla sub
  9.         End If
  10.     End Sub



Però se uso la prima alternativa mi da un errore che dice Troppi Argomenti per 'Public Sub Print'
Mentre se uso la seconda midice che è impossibile convertire il valore di ListView.SelectedItems in string dov'è che sbaglio ????? Potreste darmi qualche dritta per favore????


WuOlFiT
PM
Avatar
()
Newbie


Messaggi:
Iscritto:

Up
1
Down
V
Segnala al moderatore
Postato alle 11:34
Giovedì, 01/09/2011
Print non accetta parametri per questo la prima eccezione.
La seconda invece è data dal fatto che stai cercando di convertire un ListViewItem in stringa implicitamente, mentre dovresti farlo esplicitamente chiamando ToString().

EDIT
ops, Totem ha ragione! Si tratta di una collezione e non di un solo ListViewItem, quindi chiamare ToString() sarebbe inutile :yup:

Ultima modifica effettuata da il 01/09/2011 alle 16:30
non capisco chi ti abbia dato un voto negativo, la tua rispota è giusta. rimediato ;) - Qwertj - 01/09/11 12:50
PM
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Up
1
Down
V
Segnala al moderatore
Postato alle 11:52
Giovedì, 01/09/2011
Più precisamente, stai tentando di convertire una collezione di ListViewItem in una stringa. Non usare i metodi con i primi argomenti che ti passano per la testa. Esiste la documentazione:
http://msdn.microsoft.com/en-us/library/system.drawing.pri ...
http://msdn.microsoft.com/it-it/library/system.diagnostics ...


"Infelici sono quelli che hanno tanto cervello da vedere la loro stupidità."
(Fligende Blatter)

"Dubitare di se stessi è il primo segno d'intelligenza."
(Ugo Ojetti)
PM