How to: Send a Notification
You can use a Notification whenever a user should take action in your application, such as prompting to send data. Typically, you send a notification when an event occurs or a condition is met, but, for simplicity, this example displays a notification when a button is clicked. You can process responses to notifications by providing code to handle the ResponseSubmitted event.
The message in a notification can be plain text or HTML. HTML allows you to send a small HTML form that contains check boxes, buttons, lists, and other HTML elements. This example uses a simple form with Submit and Cancel buttons.
The Cancel button is identified by "cmd:2", which Windows CE uses to dismiss notifications. If cmd:2
is the name of an HTML button or other element in a message balloon, the ResponseSubmitted event is not raised. The notification is dismissed, but its icon is placed on the title bar and can be responded to at a later time.
To send a notification
Create a Pocket PC Windows application.
Add a Notification and a Button to the form.
Create a Notification instance.
Me.Notification1 = New Microsoft.WindowsCE.Forms.Notification
this.notification1 = new Microsoft.WindowsCE.Forms.Notification();
Add the following code to handle the Click event of the button.
Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click ' Use a StringBuilder for better performance. Dim HTMLString As New StringBuilder HTMLString.Append("<html><body>") HTMLString.Append("Submit data?") HTMLString.Append("<form method=\'GET\' action=notify>") HTMLString.Append("<input type='submit'>") HTMLString.Append( _ "<input type=button name='cmd:2' value='Cancel'>") HTMLString.Append("</body></html>") ' Set the Text property to the HTML string. Notification1.Text = HTMLString.ToString() Dim IconStream As New FileStream(".\My Documents\notify.ico", _ FileMode.Open, FileAccess.Read) Notification1.Icon = new Icon(IconStream, 16, 16) Notification1.Caption="Notification Demo" Notification1.Critical = false ' Display icon up to 10 seconds. Notification1.InitialDuration = 10 Notification1.Visible = true End Sub
private void button1_Click(object sender, System.EventArgs e) { StringBuilder HTMLString = new StringBuilder(); HTMLString.Append("<html><body>"); HTMLString.Append("Submit data?"); HTMLString.Append("<form method=\'GET\' action=notify>"); HTMLString.Append("<input type='submit'>"); HTMLString.Append("<input type=button name='cmd:2' value='Cancel'>"); HTMLString.Append("</body></html>"); //Set the Text property to the HTML string. notification1.Text = HTMLString.ToString(); FileStream IconStream = new FileStream(".\\My Documents\\notify.ico", FileMode.Open, FileAccess.Read); notification1.Icon = new Icon(IconStream, 16, 16); notification1.Caption="Notification Demo"; notification1.Critical = false; // Display icon up to 10 seconds. notification1.InitialDuration = 10; notification1.Visible = true; }
Add the following code to handle the ResponseSubmitted event.
' When a ResponseSubmitted event occurs, this event handler ' parses the response to determine values in the HTML form. Private Sub Notification1_ResponseSubmitted(ByVal sender As Object, _ ByVal resevent As Microsoft.WindowsCE.Forms.ResponseSubmittedEventArgs) _ Handles Notification1.ResponseSubmitted If resevent.Response.Substring(0,6) = "notify" Then ' Add code here to respond to the notification. End If End Sub
// When a ResponseSubmitted event occurs, this event handler // parses the response to determine values in the HTML form. notification1.ResponseSubmitted += delegate (object obj, ResponseSubmittedEventArgs resevent) { if (resevent.Response.Substring(0,6) == "notify") { // Add code here to respond to the notification. } };
Compiling the Code
This example requires references to the following namespaces: