Creiamo un clone del Blocco Note in C# – Lezione 4: Il Menù File (Terza Parte)

Creiamo un clone del Blocco Note in C# – Lezione 4: Il Menù File (Terza Parte)

Creiamo un clone del Blocco Note in C# – Lezione 4: Il Menù File (Terza Parte)

Quarta lezione del corso su come creare un clone del blocco note in C#.

In questa lezione concluderemo le modifiche relative al menù File, andando ad inserire il codice relativo alle Impostazioni di Pagina e alla Stampa.

Un editor di testi che si rispetti, ha necessariamente bisogno di poter offrire all’utente la possibilità di stampare il testo che ha scritto, e in questo articolo vedremo come permettere agli utenti che utilizzano il nostro clone del blocco note, di poter stampare il loro documento.

Per poter rendere possibile la stampa abbiamo bisogno di 3 strumenti:

  • PrintDocument: lo strumento che gestisce il documento che poi verrà stampato
  • PageSetupDialog: Una schermata che permette all’utente di configurare le impostazioni di stampa
  • PrintDialog: La schermata che permette all’utente di impostare la stampante ed avviare la stampa

In questa lezione, vedremo quindi come si utilizzano e configurano i 3 strumenti sopra elencati, come si prepara un testo per adattarlo poi ad un foglio di stampa, come creare un font da associare poi al documento e quindi stampare utilizzando quello specifico Font.

Gli eventi con i quali lavoriamo in questa lezione sono:

Menu_ImpostaPagina_Click

L’evento è associato alla voce Imposta Pagina, nel menù File del nostro software, questo evento permetterà di impostare la formattazione della pagina per la stampa.

Menu_Stampa_Click

Altro evento associato al menù File, questa volta alla voce Stampa…, questo evento permette di avviare la schermata di selezione di una stampante e di avviare la stampa del documento selezionato.

L’ultimo evento, ma quello più importante, perchè permette di gestire tutto il processo di stampa del documento è l’evento PrintPage associato al nostro Documento da stampare.

Visto che il codice di questo evento è più lungo di quelli scritti fino ad ora, ve lo copio qui per intero:

String Testo_Da_Stampare = Testo_Notepad.Text;
int Caratteri_Pagina = 0;
int Righe_Pagina = 0;
FontFamily FamigliaFont = new FontFamily(“Arial”);
Font Font_di_Stampa = new Font(FamigliaFont, 16, FontStyle.Regular, GraphicsUnit.Pixel);
e.Graphics.MeasureString(Testo_Da_Stampare, Font_di_Stampa, e.MarginBounds.Size, StringFormat.GenericTypographic, out Caratteri_Pagina, out Righe_Pagina);
e.Graphics.DrawString(Testo_Da_Stampare, Font_di_Stampa, Brushes.Black, e.MarginBounds, StringFormat.GenericTypographic);
Testo_Da_Stampare = Testo_Da_Stampare.Substring(Caratteri_Pagina);
e.HasMorePages = Testo_Da_Stampare.Length > 0;

Con questa lezione abbiamo concluso il menù File, e dalla settimana prossima potremo iniziare a scrivere il codice per il funzionamento del menù Modifica.

Claudio Masci
Claudio Masci

Sono innanzitutto un appassionato di informatica e tecnologia in generale. Lavoro in ambito informatico da circa 16 anni, spaziando in diversi campi, andando dalla programmazione web, allo sviluppo di software, dalla grafica alla modellazione 3d ed al video editing, ho sempre voluto approfondire ogni aspetto e questo mi ha permesso di lavorare in diversi ambiti informatici.

Lascia un commento

X
Mostra
facebook
twitter
youtube
reddit
follow us in feedly
Flipboard