zoukankan      html  css  js  c++  java
  • notificationtest

    using System;
    using System.Windows.Forms;
    using System.Drawing;
    using Microsoft.WindowsCE.Forms;
    using System.Reflection;
    using System.Text;
    using System.IO;
    namespace notificationtest
    {
    public class Form1 : System.Windows.Forms.Form
    {
    private System.Windows.Forms.Button button1;
    private System.Windows.Forms.StatusBar statusBar1;
    private Microsoft.WindowsCE.Forms.Notification notification1;
    public Form1()
    {
    InitializeComponent();
    ConfigNotification();
    statusBar1.Text = "";
    // Display the OK button for closing the application.
    this.MinimizeBox = false;
    }
    protected override void Dispose(bool disposing)
    {
    base.Dispose(disposing);
    }
    private void InitializeComponent()
    {
    this.button1 = new System.Windows.Forms.Button();
    this.statusBar1 = new System.Windows.Forms.StatusBar();
    this.SuspendLayout();
    //
    // button1
    //
    this.button1.Location = new System.Drawing.Point(6, 134);
    this.button1.Name = "button1";
    this.button1.TabIndex = 20;
    this.button1.Text = "Notify";
    this.button1.Click += new System.EventHandler(this.button1_Click);
    //
    // statusBar1
    //
    this.statusBar1.Location = new System.Drawing.Point(0, 246);
    this.statusBar1.Name = "statusBar1";
    this.statusBar1.Size = new System.Drawing.Size(240, 22);
    this.statusBar1.Text = "";
    //
    // Form1
    //
    this.ClientSize = new System.Drawing.Size(240, 268);
    this.Controls.Add(this.statusBar1);
    this.Controls.Add(this.button1);
    this.Name = "Form1";
    this.Text = "Notify Demo";
    this.ResumeLayout(false);
    }
    static void Main()
    {
    Application.Run(new Form1());
    }
    private void ConfigNotification()
    {
    // Create a Notification.
    notification1 = new Microsoft.WindowsCE.Forms.Notification();
    try
    {
    // Provide an icon for the notification to appear in the title bar when dismissed.
    // Assumes an icon file is compiled with the assembly as an embedded resource.
    Assembly asm = Assembly.GetExecutingAssembly();
    notification1.Icon = new Icon(asm.GetManifestResourceStream("notify.ico"),16,16);
    notification1.Caption = "Notification scenario - data download";
    // If notification is urgent, set to true.
    notification1.Critical = false;
    // Create the text for the notification.
    // Use a StringBuilder for better performance.
    StringBuilder HTMLString = new StringBuilder();
    HTMLString.Append("<html><body>");
    HTMLString.Append("<font color=\"#0000FF\"><b>Data ready to download</b></font>");
    HTMLString.Append("&nbsp;&nbsp;&nbsp;&nbsp;<a href=\"settings\">Settings</a>");
    HTMLString.Append("<br><form method=\"GET\" action=notify>");
    HTMLString.Append("<SELECT NAME=\"lstbx\">");
    HTMLString.Append("<OPTION VALUE=\"0\">Start now</OPTION><OPTION VALUE=\"1\">In 1 hr</OPTION>");
    HTMLString.Append("<OPTION VALUE=\"2\">In 2 hrs</OPTION><OPTION VALUE=\"3\">In 3 hrs</OPTION>");
    HTMLString.Append("<OPTION VALUE=\"4\">In 4 hrs</OPTION></SELECT>");
    HTMLString.Append("<input type=checkbox name=chkbx>Notify completion");
    HTMLString.Append("<br><input type='submit'>");
    HTMLString.Append("<input type=button name='cmd:2' value='Postpone'>");
    HTMLString.Append("</body></html>");
    // Set the Text property to the HTML string.
    notification1.Text = HTMLString.ToString();
    // Add event handlers.
    notification1.BalloonChanged += new BalloonChangedEventHandler(OnBalloonChanged);
    notification1.ResponseSubmitted += new ResponseSubmittedEventHandler(OnResponseSubmitted);
    }
    catch (Exception ex)
    {
    MessageBox.Show(ex.Message);
    }
    }
    // Clicking the button creates a notification
    // that initally displays for 20 seconds.
    // A button is used here for demonstration purposes only;
    // normally, a notification is sent in response to another event.  
    private void button1_Click(object sender, System.EventArgs e)
    {
    notification1.InitialDuration = 20;
    notification1.Visible = true;
    statusBar1.Text = "";
    }
    // You can use the BalloonChanged event
    // created by tracking each time the notification is made visible.
    private void OnBalloonChanged(object obj, BalloonChangedEventArgs balevent)
    {
    if (balevent.Visible == true)
    {
    // You can add code here to add 
    // functionality such as user interface 
    // changes that should occur when
    // the notification is displayed.
    }
    }
    // When a ResponseSubmitted event occurs, this event handler
    // parses the response to determine values in the HTML form.
    private void OnResponseSubmitted(object obj, ResponseSubmittedEventArgs resevent)
    {
    // Use a StringBuilder to create a log of the response.
    StringBuilder LogResponse = new StringBuilder();
    // If the response contains the name specified for the action value
    // of the HTML form, in this case "notify," get the value of the
    // selected option from the SELECT list. An example of the
    // response string would be notify?lstbx=0.
    if (resevent.Response.Substring(0, 6) == "notify")
    {
    int choice = Convert.ToInt32(resevent.Response.Substring(13, 1));
    switch (choice)
    {
    case 0:
    LogResponse.Equals("submit");
    break;
    case 1:
    LogResponse.Equals("opt 1");
    break;
    case 2:
    LogResponse.Equals("opt 2");
    break;
    case 3:
    LogResponse.Equals("opt 3");
    break;
    case 4:
    LogResponse.Equals("opt 4");
    break;
    }
    // If the checkbox in the form is checked, the response
    // string could be as follows: notify?lstbx=0chkbx=on
    // You can determine whether the check box is selected
    // by checking whether the response ends with "on".
    if (resevent.Response.EndsWith("on"))
    LogResponse.Equals("checkbox");
    }
    // If the user clicked the settings link,
    // log the response. This example could display
    // a dialog box by activating another form.
    else if (resevent.Response == "settings")
    {
    // Display a settings dialog by activating
    // a form named 'Settings':
    // Settings.Activate
    LogResponse.Equals("Postponed by clicking link");
    // The user needs to respond to the notification
    // after checking the settings, so set the
    // InitialDuration and Visible properties so
    // that the icon appears in the title bar.
    notification1.InitialDuration = 0;
    notification1.Visible = true;
    }
    // Display the response on the status bar.
    statusBar1.Text = LogResponse.ToString() + " HTML: " + resevent.Response.ToString();
    }
    }
    }
    http://msdn.microsoft.com/zh-cn/library/microsoft.windowsce.forms.notification(VS.80).aspx
  • 相关阅读:
    ptunnel-简易使用
    socat-简易使用
    ncat-相关参数用法
    通过iodine简单实现dns隧道技术
    HTB-靶机-Safe
    HTB-靶机-Rope
    【mysql子查询&组合查询 05】
    【mysql 库表操作 07】
    【mysql插入&修改&删除 06】
    【mysql 连接查询 04】
  • 原文地址:https://www.cnblogs.com/chinatefl/p/1442576.html
Copyright © 2011-2022 走看看