domenica 4 aprile 2021

.Net 5.0 C# Utilizzo della nuova classe o TaskDialog - Parte 1

 Si riporta l'articolo scritto per il sito https://www.iprogrammatori.it/articoli/microsoft-net-framework/art_c-utilizzo-della-nuova-classe-o-taskdialog-net-50-parte-1_1732.aspx 


In questa prima parte dell’articolo riguardante l’utilizzo della nuova classe TaskDialogPage, presente in .Net 5.0, vedremo come utilizzare in vari contesti e soprattutto le proprietà ed eventi  per personalizzare il più possibile i messaggi a video per l'utente.


La classe TaskDialogPage è simile alla classe Messagebox solo che ha delle proprietà e metodi che la rendono più avanzata e simile ai messaggi di sistema di Windows.

Questa classe si utilizza per progetto di tipo “Windows Application” e con la versione del Framework 5.0


Creazione del progetto

Si crea un nuovo progetto di tipo “Windows Forms App (.Net) tra i vari progetti che troviamo, il tutto come mostrato in figura 1.




Figura 1 – La selezione del progetto.


Dopo aver impostato il nome del progetto ed il relativo percorso, facciamo click con il tasto destro sul nome del progetto presente in “Esplora Soluzioni” e nel menu che viene aperto selezionare la voce “Proprietà”, con il quale si aprirà la finestra del progetto dove impostare la versione del “Framework 5.0” il tutto come mostrato in figura 2.



Figura 2 – La scelta della versione del Framework


Dopo aver impostato il progetto con il Framework versione .Net 5 non resta che inserire nella schermata o meglio nella form, una serie di pulsanti che permetteranno di visualizzare le varie funzionalità della classe per visualizzare a video dei messaggi.

Inseriamo 8 pulsanti, con la dicitura presente in figura 3, con il quale andremo a scrivere il codice per gli eventi click. Possiamo utilizzare anche un pulsante solo, e di volta in volta scrivere il codice per eseguire le varie operazioni, il tutto a scelta del lettore.

Figura 3 – Il posizionamento dei pulsanti


Stesura del codice

Terminata la parte di configurazione e gestione del progetto non resta ora che scrivere il codice. Per rendere semplice la lettura e soprattutto il codice da scrivere, faremo riferimento alla figura precedente (3) in modo da capire dove scrivere il codice.

Iniziamo con il fare doppio click sul pulsante con il testo “Messaggio” un questo modo passiamo all’evento click del pulsante.

In questo evento, vedremo come utilizzare la classe TAskDialogPage in maniera standard.


Nell’evento click scriviamo il codice che permette di impostare il testo del titolo, della scrizione, il pulsante ed il tipo di immagine.


C#

private void BtnSemplice_Click(object sender, EventArgs e)

        {

 

 

           

            TaskDialogButton result = TaskDialog.ShowDialog(this, new TaskDialogPage()

            {

                Text = "Testo da visualizzare nel messaggio.",

                Heading = "Testo del messaggio - Sei sicuro che vuoi continuare?",

                Caption = "Testo intestazione - TaskDialogButton semplice",

                Buttons =

                {

                    TaskDialogButton.Yes,

                    TaskDialogButton.No

                },

                Icon = TaskDialogIcon.Warning,

                DefaultButton = TaskDialogButton.No

            });

 

            if (result == TaskDialogButton.Yes)

            {

                MessageBox.Show(result.ToString());

               

            }

            MessageBox.Show(result.Text);

            return;

 

 

        }


Il codice precedente permette di creare una tipica “MessageBox” con l’icona di attenzione, due pulsanti e verificare se è stato selezionato il pulsante di si.


Il risultato finale sarà come mostrato in figura 4.


Figura 4 – Messaggio che verrà visualizzato


Torniamo in visualizzazione grafica e facciamo doppio click sul pulsante con la scritta “Messaggio con Check”, in questo modo, verrà visualizzata il messaggio precedente, con l’aggiunta di un controllo checkbox.

C#

private void BtnMessaggioCheck_Click(object sender, EventArgs e)

        {

            var Taskpage = new TaskDialogPage()

            {

                Heading = "Vuoi procedere?",

                Text = "Il testo che si vuole visualizzare.",

                Caption = "Titolo del messaggio - Task Dialog page con Checkbox",

                Icon = TaskDialogIcon.Warning,

                AllowCancel = true, //proprietà per la chiusura tramite x della finestra true è visibile la X di chiusura finestra altrimenti nascosto

 

                Verification = new TaskDialogVerificationCheckBox()

                {

                    Text = "Non ripetere più la scelta"

                },

 

                Buttons =

                {

                    TaskDialogButton.Yes,

                    TaskDialogButton.No

                },

 

                DefaultButton = TaskDialogButton.No

            };

 

            var SceltaDialog = TaskDialog.ShowDialog(this, Taskpage);

 

            if (SceltaDialog == TaskDialogButton.Yes)

            {

                if (Taskpage.Verification.Checked)

                    MessageBox.Show("Selezionato il check");

 

 

            }

        }


Tramite la classe “TaskDialogVerificationCheckBox” viene applicata nella parte inferiore del messaggio, un controllo di tipo “checkbox” come si vede ogni tanto nei messaggi di Windows, la quale verifica avviene tramite la proprietà “Checked” di Verification.

Si fa notare, come la proprietà “AllowCancel” permette di visualizzare il pulsante “X” di chiusura della finestra.

Il risultato sarà come illustrato in figura 5.



Figura 5 – Il messaggio con il Check


Ritorniamo in visualizzazione grafica, e facciamo doppio click sul pulsante con la denominazione “Pulsanti Personalizzati”, in questo caso, la classe “TaskDialogPage” viene utilizzata con le classi TaskDialogoButton, per personalizzare i pulsante. Il simbolo della e commerciale “&” permette di utilizzare la combinazione di tasi per eseguire il comando, per esempio per il pulsante basta "Salva" tenere il pulsante “Alt” e poi “S” della tastiera per eseguirlo.

Il tutto come avviene per i menu.

Possiamo aggiungere n pulsanti che vogliamo e poi verificare che tipo di pulsante è stato utilizzato, come nella condizione if presente a fine codice.

C#

private void BtnPulsantiPersonalizzati_Click(object sender, EventArgs e)

        {

            //Creazione dei pulsanti

            TaskDialogButton btnCancel = TaskDialogButton.Cancel;

            TaskDialogButton btnSalva = new TaskDialogButton("&Salva");

            TaskDialogButton btnNonSalvare = new TaskDialogButton("No&n Salvare");

            TaskDialogButton BtnPulsanteCustom = new TaskDialogButton("Pulsante Personalizzato");

            var page = new TaskDialogPage()

            {

                Caption = "Titolo del messaggio",

                Heading = "Testo del messaggio che vuoi fare?",

                Buttons =

                {

                    btnCancel,

                    btnSalva,

                    btnNonSalvare,

                    BtnPulsanteCustom

                }

            };

 

            //Visualizza la scelta selezionata

            TaskDialogButton result = TaskDialog.ShowDialog(this, page);

 

 

 

 

            if (result == btnSalva)

                MessageBox.Show("Salva");

            else if (result == btnNonSalvare)

                MessageBox.Show("Non salvare");

            else if (result == BtnPulsanteCustom)

                MessageBox.Show("Personalizzato");

            else

                MessageBox.Show("Annulato");

        }


Il risultato di tale operazione sarà come riportato in figura 6, nel quale c’è anche il pulsante personalizzato. Da notare come solo il pulsante “Salva” ed il pulsante “Non Salvare” hanno il trattino sotto la lettera con il quale è preceduto il simbolo della e commerciale.


Figura 6 – La finestra con i pulsanti personalizzati


Dopo aver fatto le prove, passiamo in visualizzazione grafica per scrivere il codice dell’ultimo pulsante.

Facciamo doppio click sul pulsante con la dicitura “Pulsanti Link” in modo da passare in visualizzazione codice.

La classe TaskDialogPage, verrà integrata con la classe “TaskDialogCommandLinkButton” e la classe “TaskDialogFootnote” per inserire una piccola annotazione in basso al messaggio che verrà visualizzato a video.

C#

  private void BtnPulsantiLink_Click(object sender, EventArgs e)

        {

            var page = new TaskDialogPage()

            {

                Caption = "Intestazione",

                Heading = "Quale scelta vuoi selezionare? ?",

                AllowCancel = true,

 

                Footnote = new TaskDialogFootnote()

                {

                    Text = "Note: Questo testo si trova in fondo come notazione.",

                },

 

                Buttons =

                {

                    new TaskDialogCommandLinkButton("&Prima Scelta", "Descrizione prima scelta")

                    {

                        Tag = 10

                    },

                    new TaskDialogCommandLinkButton("&Seconda Scelta", "Descrizione seconda scelta")

                    {

                        Tag = 15

                    },

                    new TaskDialogCommandLinkButton("&Terza Scelta", "Descrizione terza scelta")

                    {

                        Tag = 20

                    }

                }

            };

 

            TaskDialogButton resultScelta = TaskDialog.ShowDialog(this, page);

 

            if (resultScelta.Tag is null)

            {

                MessageBox.Show("Annullato");

            }

            else if (Convert.ToInt32(resultScelta.Tag) == 10)

                MessageBox.Show("Prima Scelta");

            else if (Convert.ToInt32(resultScelta.Tag) == 15)

                MessageBox.Show("Seconda Scelta");

            else if (Convert.ToInt32(resultScelta.Tag) == 20)

                MessageBox.Show("Terza Scelta");

        }


La finestra che verrà visualizzata, avrà i pulsanti con lo stile di “collegamento” e non veri pulsanti come siamo abituati a vedere, il tutto come mostrato in figura 7.

Da notare che la scelta del pulsante al quale è stato fatto click, lo rileviamo dal valore della proprietà “Tag” al quale possiamo utilizzarlo per passarlo a qualche funzione.


Finestra 7 – La finestra di TaskDialogPage con lo stile a pulsanti di collegamento


Conclusioni

Siamo giunti alla conclusione di questa prima parte dell’articolo, con il quale vengono forniti alcune indicazioni ed esempi sull’utilizzo della classe “TaskDialogPage”, con l’utilizzo anche di altri classi per visualizzare a video messaggi personalizzati.

Questa classe la troviamo con la nuova versione del Framework 5.0 ed è per ambiente “Windows Application” e non web.

Le numerose classi e proprietà messa a disposizione di questa classe, forniscono al programmare autonomia e flessibilità per creare messi a video sempre più accattivanti.

Nessun commento: