Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    vb net - implementazione PrintPreviewDialog

    torno con le mie richieste un po' strane
    ricordo che sono un autodidatta e che provo a scrivere qualche piccolo
    programma per uso esclusivamente personale e per la pura soddisfazione
    di riuscirci
    sono riuscito, non senza problemi, a costruire una stampa e visualizzarla
    in anteprima; da qui vedo che e' possibile mandare la stessa direttamente
    alla stampante
    vengo alla domanda;
    e' possibile implementare/interfacciare/intercettare in qualche modo?
    vorrei ad esempio poter specificare un range di pagine da stampare
    pensate sia possibile?
    se si' in che modo?
    grazie a chiunque vorra' dedicarmi del tempo

  2. #2
    faccio seguito alla mia precedente nota; si sa dove viene creata l' anteprima
    della stampa in modo da poterla visualizzare con codice proprio; in altre parole e'
    possibile creare un proprio form che faccia quello che fa attualmente il
    PrintPreviewDialog piu' altro come precedentemente detto?
    grazie

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2014
    residenza
    Vicenza
    Messaggi
    318
    Si, esiste proprio un oggetto che fa questo, mi sembra si chiama PreviewControl o qualcosa del genere

    Ma io lascerei il preview standard e quando il cliente preme "stampa" intercetto la chiamata, gli faccio uscire la schermata della scelta della stampante e da lì (mi sembra) può scegliere quale range di pagine stampare.

    Praticamente, nell'evento BeginPrint della tua stampa, metti questo codice (pDoc è l'oggetto PrintDocument e pDlg è un oggetto PrintDialog):

    codice:
            If Not pDoc.PrintController.IsPreview Then
    
                pDlg.Document = pDoc
                pDlg.PrinterSettings = pDoc.PrinterSettings
                pDlg.AllowSomePages = True
                If pDlg.ShowDialog = Windows.Forms.DialogResult.OK Then
                    pDoc.PrinterSettings = pDlg.PrinterSettings
                Else
                    e.Cancel = True
                End If
    
            End If
    Sergio
    Ultima modifica di SirJo; 06-04-2014 a 18:09

  4. #4
    grazie
    provero'

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.