关于contextMenuStrip控件的定位问题

转载 2012年03月29日 14:00:38

有很多朋友在初次碰到contextMenuStrip控件的时候都不知道如何固定使用的范围(如果不定位,那么使用contextMenuStrip控件的载体控件的任何范围都会触发事件,这显然不合理)。下面我以一个过来人的角度来给出定位代码,供碰到此类问题朋友参考。


步骤一,

我们先来创建一个contextMenuStrip的载体控件(用一个简单的listview控件来呈现简单的数据,便于观察)


listview添加的代码如下(记得把listviewView属性先改成Details类型,listview的名字为lv1):


          
lv1.Items.Add("小朱");
            lv1.Items[0].SubItems.Add("
");
            lv1.Items[0].SubItems.Add("24
");



步骤二,

我们给listview控件加载一个contextMenuStrip控件(先添加一个ContextMenuStrip控件,然后将listview控件的ContextMenuStrip属性选择为contextMenuStrip的名字即加载完毕),笔者这里给contextMenuStrip控件取名为context1并给context1添加了三个项.

然后我们运行程序来查看效果图:


contextMenuStrip控件虽然生效了,但是他的位置在listview控件的任意范围都可以出现!!! 这显然不合理。好了,下面我们来对范围进行定位。


步骤三,将listview控件中ContextMenuStrip属性选择为“无”(一定要去掉,之前我们为这个属性添加过名字为context1的contextMenuStrip)。


步骤四,触发listview控件的MouseClick事件,然后在事件中编写一些简单的代码。

private void lv1_MouseClick(object sender, MouseEventArgs e)

        {

           //鼠标右击才会触发contextMenuStrip控件,并且contextMenuStrip控件只在listview控件中有数据的时候才有效,这样就固定下了范围

            if (e.Button == MouseButtons.Right && lv1.SelectedItems.Count == 1)

            {

                context1.Show(MousePosition);

            }

        }

我们再来看下效果,鼠标只能在移到listview控件有数据的地方右击弹出菜单了。



winform中contextMenuStrip使用

1.在VS中添加contextMenuStrip控件,contextMenuStrip的属性可以直接设置或用代码进行设置。 2.基本使用: (1)添加控件后,一般是跟其他控件绑定在一起,通过在主界面控...
  • wzy0754
  • wzy0754
  • 2017年02月20日 19:23
  • 3163

ContextMenuStrip 菜单的使用技巧

本人做了一个 DataGridView用来显示数据库中的字段,为了能够让用户可以自定义要显示的字段,特加上右键菜单功能运行效果图如下:为了实现这个例子,必须完成下面要求:1、能够根据DataGridV...
  • zhichao2001
  • zhichao2001
  • 2007年12月01日 09:41
  • 8733

contextMenuStrip添加菜单项

一.简单添加 (1)this.contextMenustrip1.Item.Add(“toolstripMenuitem1”)------------------添加单个菜单项 (2)th...
  • Sara_xie
  • Sara_xie
  • 2015年04月22日 16:01
  • 2522

ContextMenuStrip右键菜单 获取关联控件、判断点击

ContextMenuStrip右键菜单 获取关联控件、判断点击  (2010-07-02 18:01:22) 转载▼ 标签:  contextmenu   ...
  • yinbucheng
  • yinbucheng
  • 2017年03月16日 19:59
  • 1671

“控件设置ContextMenuStrip属性后,第一次右击不显示菜单”解决方法

“控件设置ContextMenuStrip属性后,第一次右击不显示菜单”解决方法 今天写一小软件的时候,遇到如标题所述问题,具体如下: 这软件有个“选项”对话框,我在主界面中的“选项”菜单Click事...
  • wenbodong
  • wenbodong
  • 2014年01月20日 17:02
  • 1965

定制DataGridView快捷菜单ContextMenuStrip的关联事件

前言 经常使用表格控件DataGridView的行关联快捷菜单(也称为上下文弹出菜单)ContextMenuStrip,基本步骤如下: 在窗体上设计ContextMenuStrip快捷菜单控件;设置...
  • kingmax54212008
  • kingmax54212008
  • 2015年03月12日 17:13
  • 2315

Cordova 在Android端定位问题,使用百度插件

作者:LoveEmperor_王子様 前言:cordova的方法在Android端调用不成功,当时本人测试的百无聊赖,也先让他上个镜头毕竟在iOS上可以定位。 var onSuc...
  • qq_31424825
  • qq_31424825
  • 2017年04月25日 15:40
  • 348

求解无线传感器网络定位问题的线性规划算法

  • 2010年04月22日 17:03
  • 950KB
  • 下载

div弹出层 定位问题的 处理

  • 2010年12月01日 00:42
  • 3KB
  • 下载

51单片机C语言编程中的绝对定位问题

  • 2012年09月15日 14:21
  • 186KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于contextMenuStrip控件的定位问题
举报原因:
原因补充:

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