小铃初闹C#初学者(二)
【技术要点】
——NotifyIcon控件,显示在后台运行进程的标志。
ShowBalloonTip方法,在任务栏中显示气泡提示。
public voidShowBalloonTip (int timeout, string tipTitle, string tipText, ToolTipIcontipIcon);
【实现步骤】
——界面
打开WindowsFormsApplication1项目在Form1窗体中添加NotifyIcon控件,选择Icon图标后再添加Timer控件,修改Interval值为500。
——代码
双击Timer2组件输入Timer2_Tick事件代码
if (flag ==false){//比较托盘图标标志
notifyIcon1.Visible =true;//托盘图标显示
notifyIcon1.ShowBalloonTip(1000, "时间到", DateTime.Now.ToLocalTime().ToString(),ToolTipIcon.Info);//任务栏气泡提示
flag = true;}
else{notifyIcon1.Visible=false;//托盘图标隐藏
flag = false;}
将Timer1_Tick事件中的label1.Text = "到达计时点"替换为代码
timer2.Enabled = true;//启动timer2
在notifyIcon1_BalloonTipClicked事件中加入代码
timer1.Enabled = true;//启动timer1
timer2.Enabled = false;//暂停timer2
当然在class Form1中加入代码
public static bool flag = false;//表示托盘图标是否闪烁
——完善
添加textBox2控件后改写Timer2_Tick中代码实现文字说明显示
DateTime.Now.ToLocalTime().ToString()为textBox2.Text.ToString()
为防止空字符在Form1_Load事件中加入代码
textBox2.Text = "_";//防止空字符
——改进
可多任务连续提醒。
【主要代码】
public static bool flag = false;//表示托盘图标是否闪烁
public Form1()
{
InitializeComponent();
}
private void timer1_Tick(object sender, EventArgs e)
{
string get_time = DateTime.Now.ToString ();//保存当前时间
string set_time = textBox1.Text.ToString ();//从textBox1获得目标时间
//比较当前与目标时间
if (get_time == set_time)
{
timer1.Enabled = false;//暂停timer1
timer2.Enabled = true;//启动timer2
}
else
{
label1.Text = get_time;//在label1显示当前时间
}
}
private void Form1_Load(object sender, EventArgs e)
{
textBox1.Text = DateTime.Now.ToString ()+".";//用符号区别输入
textBox2.Text = "_";//防止空字符
timer1.Enabled = true;//启动timer1
}
private void timer2_Tick(object sender, EventArgs e)
{
//比较托盘图标标志
if (flag == false)
{
notifyIcon1.Visible =true;//托盘图标显示
notifyIcon1.ShowBalloonTip(1000, "时间到",textBox2.Text.ToString(), ToolTipIcon.Info);//任务栏气泡提示
flag = true;
}
else
{
notifyIcon1.Visible =false;//托盘图标隐藏
flag = false;
}
}
private void notifyIcon1_BalloonTipClicked(object sender, EventArgs e)
{
timer1.Enabled = true;//启动timer1
timer2.Enabled = false;//暂停timer2
}