現(xiàn)在有大量的第三方控件存在,這些控件包括了開發(fā)的各個(gè)方面,但對(duì)于開發(fā)人員而言選擇一個(gè)合適的控件卻很難,所以今天我們要推薦的是一個(gè)可以實(shí)現(xiàn)類似MSN彈出通知消息功能的控件:
下載控件:PopupWin
使用范例
MSN由個(gè)很好的功能,就是每當(dāng)你的MSN好友上線時(shí),MSN會(huì)自動(dòng)在窗體托盤的右下角由下往上彈出消息框來通知你,這個(gè)功能十分實(shí)用,比如在論壇里,當(dāng)有新回復(fù)你的帖子時(shí),系統(tǒng)會(huì)自動(dòng)彈出消息提示框,又或者在一個(gè)電子政務(wù)的系統(tǒng)里,當(dāng)收到新的郵件或者工作單時(shí),可以使系統(tǒng)彈出消息框提示等等。那么,在ASP.NET構(gòu)建的Web應(yīng)用中,如何實(shí)現(xiàn)這樣的功能呢?在本文中,向讀者推薦一個(gè)可以實(shí)現(xiàn)類似MSN的通知消息窗口效果的.NET控件。
首先讓我們來看下該控件實(shí)現(xiàn)后的樣子,如下圖:
可以看到,這個(gè)控件可以在各類型的瀏覽器中使用(IE,MOZILLA,NETSCAPE,OPERA),而且我們還可以自定義顏色,還可以進(jìn)行拖拉,如下圖:
下面我介紹這個(gè)控件的一些使用方法。
首先,在該控件中,有兩種事件可以被激發(fā):Linkcliked事件(當(dāng)消息框內(nèi)的連接被點(diǎn)擊時(shí)觸發(fā))和Popupclosed事件(當(dāng)消息框窗口被關(guān)閉時(shí)觸發(fā))。控件有三種方式對(duì)這些事件進(jìn)行處理,而actiontype屬性的取值,則決定了這三種方式:
1)messagewindow(默認(rèn)):默認(rèn)的彈出窗口方式,將以設(shè)置好的Title屬性和Text屬性為標(biāo)題和窗口內(nèi)的文字說明。
2)openlink:此時(shí),控件允許當(dāng)點(diǎn)擊窗口內(nèi)的文字鏈接時(shí),將以打開新窗口的方式打開該鏈接。
3)raiseevenst:當(dāng)選擇該屬性時(shí),控件將會(huì)在服務(wù)端處理linkcliked事件和popupclosed事件。
在使用該控件時(shí)是十分方便的,只需要在visual studio .net 中,使用add/remove toolbox功能,選擇該控件的dll,之后,該控件就會(huì)出現(xiàn)在工具箱中,就可以拖拉的方式放到網(wǎng)頁中去應(yīng)用。
單擊該控件,在其設(shè)計(jì)器中,會(huì)發(fā)現(xiàn)有豐富的屬性(詳細(xì)的屬性,事件說明請(qǐng)參考該控件的文檔)。在設(shè)計(jì)器中的"操作"分類欄中,可以指定控件如何處理當(dāng)用戶關(guān)閉窗口和點(diǎn)擊窗口內(nèi)的文字時(shí)打開的新鏈接;在"文字"和"設(shè)計(jì)"分類欄中,將可以設(shè)計(jì)彈出消息窗口的字體,顏色,布局(如設(shè)置是從左下角還是從右下角彈出);在"行為"分類欄中,可以設(shè)置窗口彈出的彈出速度,是否自動(dòng)在頁面加載后就彈出,以及窗口在彈出多久后會(huì)自動(dòng)關(guān)閉,窗口是否可以設(shè)置為自由拖拉等等。
下面舉例通過代碼說明如何使用:
在popup.aspx中:
<!-- Popup.aspx -->
<%@ Register TagPrefix="cc1" Namespace="EeekSoft.Web"
Assembly="EeekSoft.Web.PopupWin" %>
<cc1:popupwin id="popupWin" runat="server" visible="False"
colorstyle="Blue" width="230px" height="100px" dockmode="BottomLeft"
windowscroll="False" windowsize="300, 200"></cc1:popupwin>
在code-behind代碼中寫入:
// Popup.aspx.cs
//設(shè)置為默認(rèn)的消息窗口
popupWin.ActionType=EeekSoft.Web.PopupAction.MessageWindow;
//設(shè)置窗口的標(biāo)題,消息文字
popupWin.Title="This is popup";
popupWin.Message="<i>Message</i> displayed in popup";
popupWin.Text="Text to show in new window..";
//設(shè)置顏色風(fēng)格
popupWin.ColorStyle=EeekSoft.Web.PopupColorStyle.Green;
//設(shè)置窗口彈出和消失的時(shí)間
popupWin.HideAfter=5000;
popupWin.ShowAfter=500;
popupWin.Visible=true;
在該控件的基礎(chǔ)上,我們?cè)僭鰪?qiáng)該控件的功能,實(shí)現(xiàn)一個(gè)叫popupanchor的控件。該控件可以動(dòng)態(tài)檢測(cè)客戶端的事件,比如在一個(gè)輸入表單中,每當(dāng)你在文本框填完數(shù)據(jù),將鼠標(biāo)的焦點(diǎn)轉(zhuǎn)移到另外的文本框時(shí),會(huì)自動(dòng)彈出消息提示框。而且,使用該控件,還可以動(dòng)態(tài)更改原先彈出窗口的標(biāo)題和文字。Popipanchor控件是配合popupwin控件使用的,比如,想重新打開已經(jīng)彈出過的窗口框,可以這樣設(shè)置,添加一個(gè)popipanchor控件,設(shè)置popuptoshow屬性,指明要控制的是哪一個(gè)彈出消息框的窗口,之后并可以設(shè)置相關(guān)的handledevent屬性,指明要擊發(fā)的是什么樣的事件(比如onfocus,ondblick)等,如下圖
<%@ Register TagPrefix="cc1" Namespace="EeekSoft.Web" Assembly="EeekSoft.Web.PopupWin" %>
colorstyle="Blue" width="230px" height="100px" dockmode="BottomLeft"
windowscroll="False" windowsize="300, 200">
</cc1:popupwin>
// Handle onclick event ..
//設(shè)置其響應(yīng)的事件為onclick
popupAnchor.HandledEvent="onclick";
popupAnchor.PopupToShow="popupWin";
popupWin.Visible=true;
popupWin.AutoShow=true;
在本文提供的下載中,提供了該控件的完整代碼,使用控件的范例工程,和關(guān)于該控件的詳細(xì)事件方法說明的CHM文件,可以在vs.net 2003上運(yùn)行通過。
<!-- End: CommunityServer.Discussions.Controls.PostDisplay.TextPost -->
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
