网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

ContextMenuStrip控件位置传值-创新互联

对于这个控件,我们常用的方式是是直接把他从属控件的属性ContextMenuStrip设置为contextMenuStrip1可以保证右键菜单位置的正确性。

创新互联于2013年成立,是专业互联网技术服务公司,拥有项目成都网站制作、成都做网站网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元裕安做网站,已为上家服务,为裕安各地企业和个人服务,联系电话:13518219792

  然而有时候我们为了在一个容器特定的位置出现右键菜单,就需要设置ContextMenuStrip的位置了;

S1.声明一个右键菜单控件;

S2.添加右键菜单的内容;

S3.设定使右键菜单跟随鼠标点击位置出现。关键的是其中的位置坐标转换;oView.PointToScreen(e.Location);oView这个对象要选正确,就是要出现右键的容器,用他的坐标转化方法来得到右键出现的位置;

这样可以保证右键菜单出现位置正确了。

附一点代码:

ContextMenuStrip cms = new ContextMenuStrip();
 cms.Items.Add("属性设置");
//坐标转化保证右键菜单出现在点击的位置
Point p = oView.PointToScreen(e.Location);
cms.Show(p);
                                                                                                                                                         
cms.Items[0].Tag = oView;
cms.Items[0].Click += ContextMenuStrip_Click;

另外在做这个开发时,我还遇到了另一个问题,我的右键是设置一个对象的属性,然而在这个Click事件中获取不到这个对象怎么办?我试着用Tag属性将需要的值传递到单击事件中进行处理,结果还可以。

//右键事件
        private void ContextMenuStrip_Click(object sender, EventArgs e)
        {
            XX view = ((ToolStripDropDownItem)(sender)).Tag as XX;
}

还没有完全吃透,仅供参考,若有更好方法望留言告知;谢谢

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享文章:ContextMenuStrip控件位置传值-创新互联
网站URL:http://bjjierui.cn/article/hsspd.html

其他资讯