小信使功能实现新邮件提示,MSN一样的方法弹出的实现方法
2007-11-01 14:05
591 查看
MSN有信息或邮件时,会缓慢出现一个信息窗口. 其实不难,E8.Net平台中 开发的项目中有做个小信使功能. 提示方式类似MSN有新信息来一样.
首先: 有个窗体 form1.aspx 实现小图标 出现在 右下脚.
关键点: 窗体Opacity 属性 设置为 0% 隐藏
放置一个控件 NotifyIcon ,实现右下角图标功能
菜单代码:
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
private void Form1_Load(object sender, EventArgs e)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
MenuItem menuItem1 = new MenuItem("未读邮件");
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
MenuItem menuItem2 = new MenuItem("待办事项");
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
MenuItem menuItemP2 = new MenuItem("-");
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
MenuItem menuItem6 = new MenuItem("切换用户");
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
MenuItem menuItemP1 = new MenuItem("-");
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
MenuItem menuItem4 = new MenuItem("退出程序");
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//分别为4个菜单项添加Click事件响应函数
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
menuItem1.Click += new System.EventHandler(this.menuItem1_Click);
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
menuItem2.Click += new System.EventHandler(this.menuItem2_Click);
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
menuItem4.Click += new System.EventHandler(this.menuItem4_Click);
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
menuItem6.Click += new EventHandler(menuItem6_Click);
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//设置NotifyIcon对象的ContextMenu属性为生面的弹出菜单对象
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
niTools.ContextMenu = new ContextMenu(new MenuItem[]
![](http://www.cnblogs.com/Images/dot.gif)
{ menuItem1, menuItem2, menuItemP2, menuItem6, menuItemP1, menuItem4 });
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
InitBrowserInterface();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
提示窗口实现:
当有新邮件时:
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
FrmShowEmail frm = new FrmShowEmail();
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
frm.Opener = this;
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
frm.EmailCount = iEmailCnt;
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
frm.EmailSubject = strEmailSubject;
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
frm.EmailFrom = strEmailFrom;
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
frm.EmailDate = dtLastEmail.ToString("yyyy-MM-dd hh:mm");
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
frm.HeightMax = 180;//窗体滚动的高度
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
frm.WidthMax = 268;//窗体滚动的宽度
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
frm.ScrollShow();
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
实现的慢慢弹出的关键代码在 frmShowEmail.aspx中
放置了三个时间控件 Timer1 Timer2 Timer3 分别设置 Interval = 60 100 60
关键代码:
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
private void FrmShowEmail_Load(object sender, EventArgs e)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Screen[] screens = Screen.AllScreens;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Screen screen = screens[0];//获取屏幕变量
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.Location = new Point(screen.WorkingArea.Width - widthMax - 20, screen.WorkingArea.Height - 34);//WorkingArea为Windows桌面的工作区
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.timer2.Interval = StayTime;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
public void ScrollShow()
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Application.DoEvents();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.Width = widthMax;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.Height = 0;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.Show();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.timer2.Enabled = false;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.timer3.Enabled = false;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.timer1.Enabled = true;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
private void ScrollUp()
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if (Height < heightMax)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.Height += 3;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.Location = new Point(this.Location.X, this.Location.Y - 3);
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.timer1.Enabled = false;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.timer2.Enabled = true;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
private void ScrollDown()
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if (Height > 40)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.Height -= 3;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.Location = new Point(this.Location.X, this.Location.Y + 3);
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.timer3.Enabled = false;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.Close();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.Dispose();
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
private void timer1_Tick(object sender, System.EventArgs e)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
ScrollUp();
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
private void timer2_Tick(object sender, System.EventArgs e)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
timer2.Enabled = false;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
timer3.Enabled = true;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
private void timer3_Tick(object sender, System.EventArgs e)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
ScrollDown();
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
}
这样就实现了类似MSN的方式提示新邮件和新的待办事项.
首先: 有个窗体 form1.aspx 实现小图标 出现在 右下脚.
关键点: 窗体Opacity 属性 设置为 0% 隐藏
放置一个控件 NotifyIcon ,实现右下角图标功能
菜单代码:
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
private void Form1_Load(object sender, EventArgs e)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
MenuItem menuItem1 = new MenuItem("未读邮件");
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
MenuItem menuItem2 = new MenuItem("待办事项");
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
MenuItem menuItemP2 = new MenuItem("-");
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
MenuItem menuItem6 = new MenuItem("切换用户");
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
MenuItem menuItemP1 = new MenuItem("-");
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
MenuItem menuItem4 = new MenuItem("退出程序");
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//分别为4个菜单项添加Click事件响应函数
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
menuItem1.Click += new System.EventHandler(this.menuItem1_Click);
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
menuItem2.Click += new System.EventHandler(this.menuItem2_Click);
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
menuItem4.Click += new System.EventHandler(this.menuItem4_Click);
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
menuItem6.Click += new EventHandler(menuItem6_Click);
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//设置NotifyIcon对象的ContextMenu属性为生面的弹出菜单对象
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
niTools.ContextMenu = new ContextMenu(new MenuItem[]
![](http://www.cnblogs.com/Images/dot.gif)
{ menuItem1, menuItem2, menuItemP2, menuItem6, menuItemP1, menuItem4 });
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
InitBrowserInterface();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
提示窗口实现:
当有新邮件时:
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
FrmShowEmail frm = new FrmShowEmail();
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
frm.Opener = this;
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
frm.EmailCount = iEmailCnt;
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
frm.EmailSubject = strEmailSubject;
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
frm.EmailFrom = strEmailFrom;
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
frm.EmailDate = dtLastEmail.ToString("yyyy-MM-dd hh:mm");
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
frm.HeightMax = 180;//窗体滚动的高度
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
frm.WidthMax = 268;//窗体滚动的宽度
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
frm.ScrollShow();
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
实现的慢慢弹出的关键代码在 frmShowEmail.aspx中
放置了三个时间控件 Timer1 Timer2 Timer3 分别设置 Interval = 60 100 60
关键代码:
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
private void FrmShowEmail_Load(object sender, EventArgs e)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Screen[] screens = Screen.AllScreens;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Screen screen = screens[0];//获取屏幕变量
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.Location = new Point(screen.WorkingArea.Width - widthMax - 20, screen.WorkingArea.Height - 34);//WorkingArea为Windows桌面的工作区
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.timer2.Interval = StayTime;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
public void ScrollShow()
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Application.DoEvents();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.Width = widthMax;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.Height = 0;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.Show();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.timer2.Enabled = false;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.timer3.Enabled = false;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.timer1.Enabled = true;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
private void ScrollUp()
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if (Height < heightMax)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.Height += 3;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.Location = new Point(this.Location.X, this.Location.Y - 3);
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.timer1.Enabled = false;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.timer2.Enabled = true;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
private void ScrollDown()
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if (Height > 40)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.Height -= 3;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.Location = new Point(this.Location.X, this.Location.Y + 3);
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
else
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.timer3.Enabled = false;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.Close();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.Dispose();
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
private void timer1_Tick(object sender, System.EventArgs e)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
ScrollUp();
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
private void timer2_Tick(object sender, System.EventArgs e)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
timer2.Enabled = false;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
timer3.Enabled = true;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
private void timer3_Tick(object sender, System.EventArgs e)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
ScrollDown();
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
}
这样就实现了类似MSN的方式提示新邮件和新的待办事项.
相关文章推荐
- ASP.NET中的几种弹出框提示基本实现方法
- Zend Framework框架之Zend_Mail实现发送Email邮件验证功能及解决标题乱码的方法
- Eclipse拥有像VS2010一样的代码提示功能的设置方法
- Asp.net实现弹出窗口提示,又防止刷新被重复提交的方法
- Asp.net实现弹出窗口提示,又防止刷新被重复提交的方法
- ASP.NET中的几种弹出框提示基本实现方法
- js实现鼠标移到链接文字弹出一个提示层的方法
- Asp.net实现弹出窗口提示,又防止刷新被重复提交的方法
- 右下角弹出提示窗口(类似MSN功能)
- ASP.NET中的几种弹出框提示基本实现方法
- ASP.NET中的几种弹出框提示基本实现方法
- Asp.net实现弹出窗口提示,又防止刷新被重复提交的方法
- 用PHP实现弹出消息提示框的两种方法
- asp.net类似于QQ表情弹出框功能的实现方法
- AjaxPro实现无刷新模仿MSN提示消息功能
- js关闭当前页面不弹出提示的方法 js实现浏览器的各种菜单命令
- 实现搜索框提示功能的方法
- JS实现仿中关村论坛评分后弹出提示效果的方法
- 实现功能:弹出一个DIV层提示等待信息,这个时候禁用用户操作页面中的其他内容
- 用PHP实现弹出消息提示框的两种方法