Compact framework utilizzare il controllo notification

Questo esempio di codice illustra come utilizzare un controllo Notification in ambiente windows mobile..

L’esempio di codice riportato qui di seguito, visualizza una notifica, nella quale si trova un controllo checkbox, un controllo combobox , un collegamento ipertestuale per l’invio di un email e due pulsanti (submit ed annulla) .

Il pulsante submit visualizzerà il testo contenuto nella combobox.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

using
 

 

System;

using
 

 

System.Collections.Generic;

using
 

 

System.ComponentModel;

using
 

 

System.Data;

using
 

 

System.Drawing;

using
 

 

System.Text;

using
 

 

System.Windows.Forms;

using
 

 

Microsoft.WindowsCE.Forms; 
 

 

namespace
 

 

DeviceNotificaCS{

 

 
 

 

 

public partial class FrmNotifica : Form

{

 

 
 

 

public

FrmNotifica(){
InitializeComponent();

Configurazione();

}

 
 

 

 

private void BtnNotifica_Click(object sender, EventArgs

e){

 

 
 

 

 

//imposto la durata di quanto dovrà rimanere visualizzata

Notification1.InitialDuration = 20;

 

 
 

 

//visualizzo la notifica

Notification1.Visible =
 

 

true

; 
 

 

 

//pulisco la barra di stato

StbStato.Text =
 

 

“”

;}

 

 
 

 

 

void

Configurazione(){

 

 
 

 

 

try

{

 

 
 

 

//Imposto il testo del titolo

Notification1.Caption =
 

 

“Testo del titolo della notifica”

; 
 

 

 

//In caso che è true visualizza un contorno rosso

Notification1.Critical =
 

 

false

; 
 

 

 

//creo un oggetto di tipo testo, che poi sarà visualizzato come pagina web

 
 

 

StringBuilder HTMLString = new StringBuilder

(); 
 

 

 

//Valorizzo tale oggetto con testo html

HTMLString.Append(
 

 

“<html><body>”

);HTMLString.Append(
 

 

 

“<font color=\”#0000FF\”><b>Indirizzo E-mail:</b></font>”

);HTMLString.Append(
 

 

 

“&nbsp;&nbsp;&nbsp;&nbsp;<a href=\”mailto:emanuelemattei@dominio.it\”>E-mail</a>”

);HTMLString.Append(
 

 

 

“<br><form method=\”GET\” action=notifica>”

);HTMLString.Append(
 

 

 

“<SELECT NAME=\”lstbx\”>”

);HTMLString.Append(
 

 

 

“<OPTION VALUE=\”0\”>Città</OPTION><OPTION VALUE=\”1\”>Roma</OPTION>”

);HTMLString.Append(
 

 

 

“<OPTION VALUE=\”2\”>Firenze</OPTION><OPTION VALUE=\”3\”>Milano</OPTION>”

);HTMLString.Append(
 

 

 

“<OPTION VALUE=\”4\”>Palermo</OPTION></SELECT>”

);HTMLString.Append(
 

 

 

“<input type=checkbox name=chkbx>Notifica completata”

);HTMLString.Append(
 

 

 

“<br><input type=’submit’ value=’Ok’>”

);HTMLString.Append(
 

 

 

“<input type=button name=’cmd:2′ value=’Annulla’>”

);HTMLString.Append(
 

 

 

“</body></html>”

); 
 

 

 

//Imposto la proprietà text che conterrà il testo da visualizzare

Notification1.Text = HTMLString.ToString();
}

 
 

 

catch (Exception

ex){

 

 
 

 

 

MessageBox

.Show(ex.Message);}
}

 

 
 

 

 

//l’evento ballonChanged mi indica quando la notifica cambia, ossia se è visualizzata o no (apertura è chiusura)

 
 

 

private void OnBalloonChanged(object obj, BalloonChangedEventArgs

balevent){

 

 
 

 

 

if (balevent.Visible == true

){

 

 
 

 

 

//Cambio il testo del pulsante

BtnNotifica.Text =
 

 

“Notifica2″

;}

 

 
 

 

 

else

{

 

BtnNotifica.Text =
 

 

“Notifica”

;}
}

 

 

 

 
 

 

 

//Evento che si scatena al click del pulsante (ho iperlink)

 
 

 

void OnResponseSubmitted(object obj, ResponseSubmittedEventArgs

resevent){
 

 

 

// Variabile contenente l’eventuale testo

 
 

 

string StrTesto = “”

; 
 

 

 

//Tramite l’oggetto resevent ottengo le informazioni in risposta all’azione eseguitasulla notifica.

 
 

 

if (resevent.Response.Substring(0, 8) == “notifica”

){

 

 
 

 

 

Int32 posizione = Convert

.ToInt32(resevent.Response.Substring(15, 1)); 
 

 

 

switch

(posizione){

 

 
 

 

 

case

0:StrTesto =
 

 

 

“submit”

; 
 

 

 

break

; 
 

 

 

case

1:StrTesto =
 

 

 

“Roma”

; 
 

 

 

break

; 
 

 

 

case

2:StrTesto =
 

 

 

“Firenze”

; 
 

 

 

break

; 
 

 

 

case

3:StrTesto =
 

 

 

“Milano”

; 
 

 

 

break

; 
 

 

 

case

4:StrTesto =
 

 

 

“Palermo”

; 
 

 

 

break

;}

 

 
 

 

 

//Verifico che la checkbox sia valorizzata

 
 

 

if (resevent.Response.EndsWith(“on”

)){

 

StrTesto = StrTesto +
 

 

 

” checkbox = Si”

;}
}

 
 

 

 

else if (resevent.Response == “mailto:emanuelemattei@dominio.it”

){

 

 
 

 

 

//se così fosse avvio il programma di posta elettronica predefinito

System.Diagnostics.
 

 

Process.Start(“mailto:emanuelemattei@dominio.it”, “”

);}

 

 
 

 

 

// visualizzo il messaggio nella barra di stato

StbStato.Text = StrTesto +
 

 

” Valore: “ + resevent.Response.ToString();

 

Tramite la parola download è possibile scaricare il file di esempio

Download

Lascia un commento