日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > asp.net >内容正文

asp.net

VS.Net 开发 MSN一样缓慢出来的提示信息的方法

發(fā)布時(shí)間:2025/3/13 asp.net 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 VS.Net 开发 MSN一样缓慢出来的提示信息的方法 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

MSN有信息或郵件時(shí),會(huì)緩慢出現(xiàn)一個(gè)信息窗口. 其實(shí)不難,E8.Net平臺(tái)中 開(kāi)發(fā)的項(xiàng)目中有做個(gè)小信使功能. 提示方式類似MSN有新信息來(lái)一樣.

首先: 有個(gè)窗體 form1.aspx 實(shí)現(xiàn)小圖標(biāo)?出現(xiàn)在 右下腳.
????? 關(guān)鍵點(diǎn):?窗體Opacity 屬性 設(shè)置為 0%? 隱藏
???????????? 放置一個(gè)控件 NotifyIcon ,實(shí)現(xiàn)右下角圖標(biāo)功能

????? 菜單代碼:
????? private?void?Form1_Load(object?sender,?EventArgs?e)
????????
{
????????????MenuItem?menuItem1?
=?new?MenuItem("未讀郵件");
????????????MenuItem?menuItem2?
=?new?MenuItem("待辦事項(xiàng)");
????????????MenuItem?menuItemP2?
=?new?MenuItem("-");
????????????MenuItem?menuItem6?
=?new?MenuItem("切換用戶");
????????????MenuItem?menuItemP1?
=?new?MenuItem("-");
????????????MenuItem?menuItem4?
=?new?MenuItem("退出程序");
????????????
//分別為4個(gè)菜單項(xiàng)添加Click事件響應(yīng)函數(shù)?
????????????menuItem1.Click?+=?new?System.EventHandler(this.menuItem1_Click);
????????????menuItem2.Click?
+=?new?System.EventHandler(this.menuItem2_Click);
????????????menuItem4.Click?
+=?new?System.EventHandler(this.menuItem4_Click);
????????????menuItem6.Click?
+=?new?EventHandler(menuItem6_Click);
????????????
//設(shè)置NotifyIcon對(duì)象的ContextMenu屬性為生面的彈出菜單對(duì)象?

????????????niTools.ContextMenu?
=?new?ContextMenu(new?MenuItem[]?{?menuItem1,?menuItem2,?menuItemP2,?menuItem6,?menuItemP1,?menuItem4?});

????????????InitBrowserInterface();

?????????

???????????
????????????
????????}

??
???
???提示窗口實(shí)現(xiàn):
?? 當(dāng)有新郵件時(shí):
?? ?FrmShowEmail?frm?=?new?FrmShowEmail();
????????????frm.Opener?
=?this;
????????????frm.EmailCount?
=?iEmailCnt;
????????????frm.EmailSubject?
=?strEmailSubject;
????????????frm.EmailFrom?
=?strEmailFrom;
????????????frm.EmailDate?
=?dtLastEmail.ToString("yyyy-MM-dd?hh:mm");
????????????frm.HeightMax?
=?180;//窗體滾動(dòng)的高度
????????????frm.WidthMax?=?268;//窗體滾動(dòng)的寬度
????????????frm.ScrollShow();


?? 實(shí)現(xiàn)的慢慢彈出的關(guān)鍵代碼在 frmShowEmail.aspx中
?? 放置了三個(gè)時(shí)間控件 Timer1 Timer2 Timer3 分別設(shè)置 Interval = 60 100 60
? 關(guān)鍵代碼:

private?void?FrmShowEmail_Load(object?sender,?EventArgs?e)
????????
{
????????????Screen[]?screens?
=?Screen.AllScreens;
????????????Screen?screen?
=?screens[0];//獲取屏幕變量
????????????this.Location?=?new?Point(screen.WorkingArea.Width?-?widthMax?-?20,?screen.WorkingArea.Height?-?34);//WorkingArea為Windows桌面的工作區(qū)
????????????this.timer2.Interval?=?StayTime;

????????}


????????
public?void?ScrollShow()
????????
{

????????????Application.DoEvents();
????????????
this.Width?=?widthMax;
????????????
this.Height?=?0;
????????????
????????????
????????????
this.Show();

????????????
this.timer2.Enabled?=?false;
????????????
this.timer3.Enabled?=?false;
????????????
this.timer1.Enabled?=?true;
????????????
????????}


????????
private?void?ScrollUp()
????????
{
????????????
if?(Height?<?heightMax)
????????????
{
????????????????
this.Height?+=?3;
????????????????
this.Location?=?new?Point(this.Location.X,?this.Location.Y?-?3);
????????????}

????????????
else
????????????
{
????????????????
this.timer1.Enabled?=?false;
????????????????
this.timer2.Enabled?=?true;
????????????}

????????}


????????
private?void?ScrollDown()
????????
{
????????????
if?(Height?>?40)
????????????
{
????????????????
this.Height?-=?3;
????????????????
this.Location?=?new?Point(this.Location.X,?this.Location.Y?+?3);
????????????}

????????????
else
????????????
{
????????????????
this.timer3.Enabled?=?false;
????????????????
this.Close();
????????????????
this.Dispose();
????????????}

????????}


????????
private?void?timer1_Tick(object?sender,?System.EventArgs?e)
????????
{
????????????ScrollUp();
????????}


????????
private?void?timer2_Tick(object?sender,?System.EventArgs?e)
????????
{
????????????timer2.Enabled?
=?false;
????????????timer3.Enabled?
=?true;
????????}


????????
private?void?timer3_Tick(object?sender,?System.EventArgs?e)
????????
{
????????????ScrollDown();
????????}

???
???
這樣就實(shí)現(xiàn)了類似MSN的方式提示新郵件和新的待辦事項(xiàng).

轉(zhuǎn)載于:https://www.cnblogs.com/cancanwyq/archive/2007/11/01/945667.html

與50位技術(shù)專家面對(duì)面20年技術(shù)見(jiàn)證,附贈(zèng)技術(shù)全景圖

總結(jié)

以上是生活随笔為你收集整理的VS.Net 开发 MSN一样缓慢出来的提示信息的方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。