如何在asp.net页面上放置的控件上实现左右键菜单,同时对之操作(1)

转载 2004年07月01日 09:44:00
CSDN - 文档中心 - .NET    
标题     如何在asp.net页面上放置的控件上实现左右键菜单,同时对之操作(1)    lyx123(原作)
关键字     asp.net,右键菜单

前言:

       大家也许开发了很多windows界面的解决方案,对于菜单的使用可以说是滚瓜烂熟,当然,如何实现windows窗口上的左右键功能也是不在话下。

但是如何在web窗口实现菜单呢?

       很多人说。用javascript或者是vbscript来实现。完全正确。一般说来是在前台用脚本语言来写。现在也有基于不是用脚本语言的控件的方式来实现的方式。用控件来实现的方法大家可以参考我写的基于asp.net的webmenu的数据操作》一文,用控件很容易的。<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

       我说的是老生常谈的问题,如果高手路过,就请你给予指正,还望不要给太多的砖头。

正文:

   <?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />实现左右键的弹出,以及选择左右键的不同菜单,点击菜单后可以有不同的处理结果,例如弹出有模式和无模式对话框等。

       如下,一一介绍:

1):在控件的Click事件dblClick事件中弹出菜单。

    前提条件:控件支持单击和双击事件。(不支持单击和双击的控件恐怕不多吧。嘿嘿)

    在控件的Click事件dblClick事件里面添加自己的菜单函数。这个函数一般是在屏幕上画一个表格。达到弹出菜单的作用。

    如下为我的画表格的原型函数:

function showdiv(div,XPos,YPos)

其中,Div为菜单的类型。比如类型为“变电站”或者“线路”,二者弹出的菜单的内容是不同的。通过这来实现在同一个控件上弹出多个菜单的作用。

其中,XPos,YPos的作用为在什么地方弹出菜单,一般说来在鼠标指针的偏下一点和偏右一点为益。

题外:怎么得到XPos,YPos,可以通过取得屏幕坐标来获取。

此函数由JavaScript实现。

假设为“线路”,那么我们看到的为上文的图示,怎么才实现画框的呢?我的实现方法示在本函数里面调用添加菜单函数。本函数实际上是在数组里面添加值,将每个菜单的项目添加到数组中,在下面的menustyle函数中将数组的值取出来。本函数的原型如下:

addMenuItem(text, url, img)

其中,text为菜单上显示的内容

其中,Url为点击改菜单后链接到什么地方的地址。

Image是可选项目。表示是图形时,菜单上显示图形。

如下为本函数:

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++;

}

同时还可增加菜单的风格以及菜单的点击和mousemove效果,函数为:menuStyle(),无参数。

最后,要显示菜单,显示菜单函数为:showMenu(),无参数。

这样就实现了菜单的弹出。

如下为完整的实例代码:

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

{

select case button

case 1         '左键

         set m_oCurrentCoordinate = WindowCoord     表示鼠标位置,其他的不同控件要通过不同的方法来获取这值。

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

}

以上代码由vbscript实现

如下由javascript实现

function showdiv(div,XPos,YPos)

{    //重定义数组

menuItemNum = 0;

menuItems = Array();

menuXPos = XPos;

menuYPos = YPos;

switch(div){

case "菜单类型":

//重定义高度和宽度

menuWidth = 143;

//menu width 每个汉字宽度24

menuHeight = 158; //menu height

addMenuItem();

break;

case "另外一个菜单类型":    //另外一种情况。略

default:

break;

}

menuStyle();         //菜单风格

showMenu();         //显示菜单

}

menuStyle();             //函数略,在下面的选择菜单和点击菜单中使用。

function showMenu(){

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

}

(未完待续)

如何在asp.net页面上放置的控件上实现左右键菜单,同时对之操作

大家也许开发了很多windows界面的解决方案,对于菜单的使用可以说是滚瓜烂熟,当然,如何实现windows窗口上的左右键功能也是不在话下。 但是如何在web窗口实现菜单呢? 很多人说。用java...
  • u014739759
  • u014739759
  • 2014年04月23日 11:06
  • 423

ASP.NET 鼠标右键菜单 右键菜单 ASP.NET鼠标右键菜单 C#右键菜单

  • 2010年06月12日 14:41
  • 146KB
  • 下载

C# ASP.NET--------高手进阶篇:右键菜单管理

    系统做久了,就有点腻歪le 想给自己的站点找点毛病,突然想起来前阵子在家看qq邮箱时候,有个右键菜单,并且是个bug菜单,不会隐藏的那种,闲着无聊在页面上放满了那个右键菜单。突然就像我为什么不...
  • qiaowenchao
  • qiaowenchao
  • 2011年05月14日 16:39
  • 529

web页面屏蔽鼠标右键

转载地址:http://blog.sina.com.cn/s/blog_4f925fc30100ln1o.html jQuery屏蔽鼠标右键: $(document).ready(functi...
  • liwb1987
  • liwb1987
  • 2015年10月16日 10:45
  • 1186

为ASP.NET控件加入快捷菜单

为ASP.NET控件加入快捷菜单虽然快捷菜单在桌面应用程序中已经是非常通用的元素,但是由于在象asp.NET这样的基于服务器的技术没有很好的描绘,所以在Web应用程序中快捷菜单并不是很通用.要想使用快...
  • SunTojava
  • SunTojava
  • 2008年03月30日 12:52
  • 396

如何在asp.net页面上放置的控件上实现左右键菜单,同时对之操作(1)

前言:       大家也许开发了很多windows界面的解决方案,对于菜单的使用可以说是滚瓜烂熟,当然,如何实现windows窗口上的左右键功能也是不在话下。但是如何在web窗口实现菜单呢?    ...
  • lyx123
  • lyx123
  • 2004年04月18日 23:47
  • 1028

如何在asp.net页面上放置的控件上实现左右键菜单,同时

  • zgqtxwd
  • zgqtxwd
  • 2008年04月24日 09:47
  • 95

如何在asp.net页面上放置的控件上实现左右键菜单,同时对之操作(2)

CSDN - 文档中心 - .NET     标题     如何在asp.net页面上放置的控件上实现左右键菜单,同时对之操作(2)    lyx123(原作) 关键字  ...
  • rickjelly2004
  • rickjelly2004
  • 2004年07月01日 09:44
  • 608

如何在asp.net页面上放置的控件上实现左右键菜单,同时对之操作(2)

上文说到菜单被创建出来了,现在要说的是第二部分的:(2),选择菜单,点击菜单选择菜单和点击菜单实际上时鼠标的MouseMove和Click事件。在上文提到的menustyle里面,我是通过JavaSc...
  • lyx123
  • lyx123
  • 2004年04月12日 12:42
  • 878

如何在页面上实现一个圆形的可点击区域

HTML Doctype作用?严格模式与混杂模式如何区分?它们有何意义? HTML5 为什么只需要写 ? 行内元素有哪些?块级元素有哪些? 空(void)元素有那些? 页面导入样式时,使用li...
  • shangazhe
  • shangazhe
  • 2017年07月12日 09:43
  • 522
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章: 如何在asp.net页面上放置的控件上实现左右键菜单,同时对之操作(1)
举报原因:
原因补充:

(最多只允许输入30个字)