您的位置:程序门 -> .net技术 -> c#



怎样控制contextmenustrip在特定区域弹出?


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


怎样控制contextmenustrip在特定区域弹出?[已结贴,结贴人:ljtlll]
发表于:2007-10-06 09:18:28 楼主
如题。
发表于:2007-10-06 09:20:281楼 得分:0
把他绑到某个控件上   ,或者在某个控件的某些地方在做处理
发表于:2007-10-06 09:26:512楼 得分:0
我是绑到form上了,就是想让它在form右边260,26以后的区域进能弹出来,有办法解决吗?
发表于:2007-10-06 09:47:593楼 得分:0
在   mouseclick   事件里判断   ,e.x   e.y的坐标   ,如果是以后的   contextmenustrip1.enabled   =   true;   否则就   为   false
发表于:2007-10-06 10:24:204楼 得分:0
contextmenustrip1.enabled只是能控制其上的items是否为激活状态,我是想如果不在260,26以后,让它就弹不出来。现在主要找不到控制contextmenustrip1弹出的方法。
发表于:2007-10-06 10:34:295楼 得分:0
哦了,判断后  
符合要求:this.contextmenustrip   =   contextmenustrip1;
不符合要求   this.contextmenustrip   =   null;
发表于:2007-10-06 10:55:396楼 得分:0
不对哦,不能控制。。打开和关闭。
发表于:2007-10-06 15:10:287楼 得分:20
                private   void   frmtest_mouseclick(object   sender,   mouseeventargs   e)
                {
                        if   (e.button   ==   mousebuttons.right)
                        {
                               
                                if   (e.x   >   100   &&   e.y   >   100)
                                {
                                        this.contextmenustrip   =   contextmenustrip1;
                                }
                                else
                                {
                                        this.contextmenustrip   =   null;
                                }
                        }
                }

                private   void   contextmenustrip1_opening(object   sender,   canceleventargs   e)
                {
                        point   t   =   this.pointtoclient(cursor.position);
                        if   (t.x   <   150   ¦ ¦   t.y   <   150)
                        {
                                e.cancel   =   true;
                        }
                }

这回应该可以了       ,具体的坐标你自己改下吧


快速检索

最新资讯
热门点击