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:
Posta un commento