• <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        當(dāng)前位置:雨林木風(fēng)下載站 > 技術(shù)開發(fā)教程 > 詳細(xì)頁面

        如何在asp.net頁面上放置的控件上完成左右鍵菜單,一起對(duì)之設(shè)置(1

        如何在asp.net頁面上放置的控件上完成左右鍵菜單,一起對(duì)之設(shè)置(1

        更新時(shí)間:2022-05-08 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):

        前言:

        大家也許開發(fā)了很多windows界面的解決方案,對(duì)于菜單的使用可以說是滾瓜爛熟,當(dāng)然,如何實(shí)現(xiàn)windows窗口上的左右鍵功能也是不在話下。

        但是如何在web窗口實(shí)現(xiàn)菜單呢?

        很多人說。用javascript或者是vbscript來實(shí)現(xiàn)。完全正確。一般說來是在前臺(tái)用腳本語言來寫。現(xiàn)在也有基于不是用腳本語言的控件的方式來實(shí)現(xiàn)的方式。用控件來實(shí)現(xiàn)的方法大家可以參考我寫的《基于asp.net的webmenu的數(shù)據(jù)操作》一文,用控件很容易的。

        我說的是老生常談的問題,如果高手路過,就請(qǐng)你給予指正,還望不要給太多的磚頭。

        正文:

        實(shí)現(xiàn)左右鍵的彈出,以及選擇左右鍵的不同菜單,點(diǎn)擊菜單后可以有不同的處理結(jié)果,例如彈出有模式和無模式對(duì)話框等。

        如下,一一介紹:

        (1):在控件的Click事件和dblClick事件中彈出菜單。

        前提條件:控件支持單擊和雙擊事件。(不支持單擊和雙擊的控件恐怕不多吧。嘿嘿)

        在控件的Click事件和dblClick事件里面添加自己的菜單函數(shù)。這個(gè)函數(shù)一般是在屏幕上畫一個(gè)表格。達(dá)到彈出菜單的作用。

        如下為我的畫表格的原型函數(shù):

        function showdiv(div,XPos,YPos)

        其中,Div為菜單的類型。比如類型為“變電站”或者“線路”,二者彈出的菜單的內(nèi)容是不同的。通過這來實(shí)現(xiàn)在同一個(gè)控件上彈出多個(gè)菜單的作用。

        其中,XPos,YPos的作用為在什么地方彈出菜單,一般說來在鼠標(biāo)指針的偏下一點(diǎn)和偏右一點(diǎn)為益。

        題外:怎么得到XPos,YPos,可以通過取得屏幕坐標(biāo)來獲取。

        此函數(shù)由JavaScript實(shí)現(xiàn)。

        假設(shè)為“線路”,那么我們看到的為上文的圖示,怎么才實(shí)現(xiàn)畫框的呢?我的實(shí)現(xiàn)方法示在本函數(shù)里面調(diào)用添加菜單函數(shù)。本函數(shù)實(shí)際上是在數(shù)組里面添加值,將每個(gè)菜單的項(xiàng)目添加到數(shù)組中,在下面的menustyle函數(shù)中將數(shù)組的值取出來。本函數(shù)的原型如下:

        addMenuItem(text, url, img)

        其中,text為菜單上顯示的內(nèi)容

        其中,Url為點(diǎn)擊改菜單后鏈接到什么地方的地址。

        Image是可選項(xiàng)目。表示是圖形時(shí),菜單上顯示圖形。

        如下為本函數(shù):

        function addMenuItem(text, url, img){

        if(img) menuItems[menuItemNum] = new Array(text, url, img);

        elseif(text) menuItems[menuItemNum] = new Array(text, url);

        else menuItems[menuItemNum] = new Array(); menuItemNum++;

        }



        同時(shí)還可增加菜單的風(fēng)格以及菜單的點(diǎn)擊和mousemove效果,函數(shù)為:menuStyle(),無參數(shù)。

        最后,要顯示菜單,顯示菜單函數(shù)為:showMenu(),無參數(shù)。

        這樣就實(shí)現(xiàn)了菜單的彈出。

        如下為完整的實(shí)例代碼:

        sub GNV_click(ByVal Button, ByVal Key, ByVal WindowCoord, ByVal WorldCoord)

        {

        select case button

        case 1 '左鍵

        set m_oCurrentCoordinate = WindowCoord ‘表示鼠標(biāo)位置,其他的不同控件要通過不同的方法來獲取這值。

        call showdiv("線路",m_oCurrentCoordinate.x ,m_oCurrentCoordinate.y + 15)

        }

        以上代碼由vbscript實(shí)現(xiàn)

        如下由javascript實(shí)現(xiàn)

        function showdiv(div,XPos,YPos)

        { //重定義數(shù)組

        menuItemNum = 0;

        menuItems = Array();

        menuXPos = XPos;

        menuYPos = YPos;

        switch(div){

        case "菜單類型":

        //重定義高度和寬度

        menuWidth = 143;

        //menu width 每個(gè)漢字寬度24

        menuHeight = 158; //menu height



        addMenuItem();



        break;

        case "另外一個(gè)菜單類型": //另外一種情況。略

        default:

        break;

        }

        menuStyle(); //菜單風(fēng)格

        showMenu(); //顯示菜單

        }

        menuStyle(); //函數(shù)略,在下面的選擇菜單和點(diǎn)擊菜單中使用。

        function showMenu(){

        menuPopup.show(menuXPos, menuYPos, menuWidth, menuHeight, document.body); return false;

        }



        溫馨提示:喜歡本站的話,請(qǐng)收藏一下本站!

        本類教程下載

        系統(tǒng)下載排行

        主站蜘蛛池模板: 亚洲日本韩国在线| 成年人视频在线观看免费| 亚洲精品无码久久久久AV麻豆| 精品久久亚洲中文无码| 99久久精品免费精品国产| 久久青青成人亚洲精品| 毛片免费在线观看| 亚洲成A人片777777| 怡红院免费全部视频在线视频| 国产成人亚洲精品狼色在线| 久久免费99精品国产自在现线| 亚洲一区AV无码少妇电影☆| 中文字幕在线免费看线人| 亚洲精品色午夜无码专区日韩| 午夜免费啪视频在线观看| 亚洲欧洲国产日韩精品| 成人免费黄色网址| 亚洲欧美熟妇综合久久久久| 免费国产真实迷j在线观看| 免费国产va视频永久在线观看| 国产成人精品亚洲精品| 国产永久免费高清在线| 久久精品亚洲一区二区三区浴池| 在线永久免费的视频草莓| 亚洲色偷偷综合亚洲AV伊人蜜桃 | 九九免费久久这里有精品23| 亚洲综合日韩久久成人AV| 国产成人精品无码免费看| 亚洲国产精品日韩在线| 免费国产a国产片高清| 在线观看黄片免费入口不卡| 自怕偷自怕亚洲精品| 成人网站免费观看| 国产精品福利在线观看免费不卡| 亚洲AV本道一区二区三区四区| 麻豆一区二区免费播放网站| 色爽黄1000部免费软件下载| 亚洲天堂中文字幕| 免费A级毛片无码A| 久久精品人成免费| 美女无遮挡免费视频网站|