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 selezionato su una form di esplorazione
Forum - C# / VB.NET - [VB.NET] Stampare un file selezionato su una form di esplorazione

Avatar
wuolfit (Normal User)
Pro


Messaggi: 95
Iscritto: 19/07/2011

Segnala al moderatore
Postato alle 12:59
Giovedì, 01/09/2011
Questo topic è stato chiuso dal moderatore

Scusate se apro un altro post ma le domande a differenza delle discussioni mi permettono solo di lasciar commenti e non di rispondere a tutti.....quindi se non è un problema riporto qui la domanda che feci nell'altro post e poi rispondo a VMikle e Il Totem che hanno gentilmente scritto nell'altro mio post.....

Allora la domanda era :

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
wuolfit (Normal User)
Pro


Messaggi: 95
Iscritto: 19/07/2011

Segnala al moderatore
Postato alle 13:06
Giovedì, 01/09/2011
Ora Come dicevo le risposte....grazie Totem e VMikle siete stato gentilissimi e chiarificatori.....ma a questo punto la mia domanda è la seguente .....come faccio io a dire a programma stampami il file che l'utente ha selezionato nella listview ????(ricordo che stiamo parlando una form esplorazione che è praticamente identica all'esplora risorse di windows)


WuOlFiT
PM
Avatar
Renny (Normal User)
Expert


Messaggi: 231
Iscritto: 30/07/2011

Segnala al moderatore
Postato alle 0:22
Venerdì, 02/09/2011
Ciao. Rispondo solo in parte, ma spero possa servirti. Non ho mai usato la print Dialog. Quello che so è che devi scrivere del codice che converta l'item selezionato della tua listview (che, se l'item selezionato è 1 solo equivale a SelectedItems(0)) in una stringa che contenga il percorso del file da stampare. Tale stringa (presumo) è quella che dice al metodo print "cosa" stampare.. Gli errori derivano da quello: cerchi di stampare una collection di Item della listView, non 1 file (o il suo percorso nel'HD).. ciao8-|


In attesa della fine del mondo, fissata per l'anno prossimo, sono alla ricerca di un notaio con cui fare testamento...
PM
Avatar
wuolfit (Normal User)
Pro


Messaggi: 95
Iscritto: 19/07/2011

Segnala al moderatore
Postato alle 9:46
Venerdì, 02/09/2011
Grazie mille Renny, sei stato chiarissimo!!!!


WuOlFiT
PM
Avatar
wuolfit (Normal User)
Pro


Messaggi: 95
Iscritto: 19/07/2011

Segnala al moderatore
Postato alle 11:30
Venerdì, 02/09/2011
mi è venuto in mente perché non usare le opendialog? l'idea mi parve buona e facile da realizzare ma con l'inconveniente che non fa ciò che vorrei, cioé è vero che stampa, ma la pagina è bianca, qui sotto riporto il codice :

Codice sorgente - presumibilmente VB.NET

  1. Private Sub btnSfogliaStampa_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSfogliaStampa.Click
  2.  
  3.         OpenFileDialog1.Title = "Sfoglia e Stampa"
  4.         If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
  5.             PrintDocument1.PrinterSettings.PrinterName = "nomestampante"
  6.             PrintDocument1.Print()
  7.             Else
  8.                 Exit Sub
  9.         End If
  10.     End Sub



dov'è che sbaglio???? come faccio a passargli il file che seleziono????


WuOlFiT
PM
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 11:56
Venerdì, 02/09/2011
Questo topic è in violazione di una o più norme del regolamento: http://www.pierotofy.it/pages/extras/forum/9/3839-regolame ... .
    
Dopo averlo letto riapri un nuovo topic assicurandoti di aver rispettato le regole. Grazie per la tua pazienza.


"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