Creiamo un clone del Blocco Note in C# – Lezione 13: Il menù Contestuale e L’apertura diretta dei file

Creiamo un Clone del Blocco Note in C# - Lezione 13 - Il Menù Contestuale

[vc_row][vc_column][wpproads id=”202″ center=”1″][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]Tredicesimo video per il corso sulla creazione di un blocco note in C#.

In questo video andremo a vedere come creare un menù contestuale, che si apre alla pressione del tasto destro del mouse, e che presenta alcune delle voci che sono presenti anche nel menù “Modifica”.

Creare un menù contestuale per il Blocco Note

Per la creazione del menù contestuale, non abbiamo scritto nuove funzione, ma abbiamo semplicemente creato un richiamo alle funzione del menù, quindi se modifichiamo le funzioni presenti nel menù automaticamente si modificheranno quelle del menù contestuale.

menu_Copia_Click(sender, new System.EventArgs());

Questo è un esempio del codice che abbiamo utilizzato, per il menù contestuale Copia, abbiamo preso l’evento Click della voce di menù Copia, e lo abbiamo richiamato.

Aprire un tipo di file direttamente con il nostro Blocco Note

Un’altra funzionalità che abbiamo implementato in questo video, è la possibilità di aprire un file con il nostro software.

Senza scrivere codice, se avessimo provato ad aprire un file con il nostro programma, si sarebbe aperto semplicemente un documento vuoto, questo perchè il blocco note non avrebbe saputo come gestire le informazioni date dal sistema operativo, ma abbiamo risolto questo problema aggiungendo il controllo:

if (Environment.GetCommandLineArgs().Count() > 1)
{
string[] argomenti = Environment.GetCommandLineArgs();
Carica_BarraTitolo(argomenti[1]);
Testo_Notepad.Text = System.IO.File.ReadAllText(argomenti[1]);
TestoIniziale = System.IO.File.ReadAllText(argomenti[1]);
NomeDocumentoAperto = argomenti[1];
}
else
{
string[] argomenti = Environment.GetCommandLineArgs();
Carica_BarraTitolo(“Nuovo Documento”);
}

Questo metodo di controllo, ed in particolare la voce Environment.GetCommandLineArgs(), ci permette di controllare se all’avvio del nostro programma Windows gli passa degli argomenti (ad esempio il percorso del file di testo da aprire), e poi tramite il comando Testo_Notepad.Text = System.IO.File.ReadAllText(argomenti[1]); andiamo ad inserire nella nostra RichTextBox il contenuto del file txt.[/vc_column_text][vc_video link=”https://youtu.be/VFYZ2CNE5J8″ align=”center”][/vc_column][/vc_row][vc_row][vc_column][wpproads id=”233″ center=”1″][/vc_column][/vc_row]