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 e L’apertura diretta dei file

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

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.

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