欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Winforn中实现ZedGraph自定义添加右键菜单项(附源码下载)

程序员文章站 2022-07-02 13:13:19
场景 Winform中实现ZedGraph中曲线右键显示为中文: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/100115292 在上面实现将ZedGraph的右键显示为中文后,再实现自定义菜单的添加。 效果 源码下载 http ......

场景

winform中实现zedgraph中曲线右键显示为中文:

https://blog.csdn.net/badao_liumang_qizhi/article/details/100115292

在上面实现将zedgraph的右键显示为中文后,再实现自定义菜单的添加。

效果

Winforn中实现ZedGraph自定义添加右键菜单项(附源码下载)

 

 

源码下载

实现

前面已经将鼠标的右键事件与方法绑定

this.zedgraphcontrol1.contextmenubuilder += mycontextmenubuilder;

 

在方法mycontextmenubuilder中

 

//新建菜单项对象
            toolstripmenuitem item1 = new toolstripmenuitem();
            //设置名字
            item1.name = "line_set";
            //设置显示文本
            item1.text = "霸道流氓";
            //点击事件与方法绑定
            item1.click += mouseenter;
            //菜单项添加到右键菜单
            menustrip.items.add(item1);

 

实现了添加一个右键菜单,将其点击事件与mouseenter方法绑定。

在窗体类下定义事件

 

//mouseeventhandler :表示将处理窗体、控件或其他组件的 mousedown、mouseup 或 mousemove 事件的方法。
        // event关键字代表事件,返回类型为委托;
        public static event eventhandler mouseenter;

 

然后在初始化窗体的位置将事件与自定义方法相绑定。

 

public form1()
        {
            initializecomponent();
            //form1初始化后创建设置控件的方法并将当前zedgraph控件传递
            createpane(zedgraphcontrol1);
            //事件与方法绑定
            mouseenter += new eventhandler(onmouseenter);

        }

 

位置

Winforn中实现ZedGraph自定义添加右键菜单项(附源码下载)

 

 

完整mycontextmenubuilder方法

 private static void mycontextmenubuilder(zedgraphcontrol control, contextmenustrip menustrip,
                    point mousept, zedgraphcontrol.contextmenuobjectstate objstate)
        {
            //新建菜单项对象
            toolstripmenuitem item1 = new toolstripmenuitem();
            //设置名字
            item1.name = "line_set";
            //设置显示文本
            item1.text = "霸道流氓";
            //点击事件与方法绑定
            item1.click += mouseenter;
            //菜单项添加到右键菜单
            menustrip.items.add(item1);
            //汉化右键菜单
            foreach (toolstripmenuitem item in menustrip.items)
            {
                switch (item.name)
                {
                    case "copied_to_clip":
                        item.text = @"复制到剪贴板";
                        break;
                    case "copy":
                        item.text = @"复制";
                        break;
                    case "page_setup":
                        item.text = @"页面设置...";
                        break;
                    case "print":
                        item.text = @"打印...";
                        break;
                    case "save_as":
                        item.text = @"另存图表...";
                        break;
                    case "set_default":
                        item.text = @"恢复默认大小";
                        break;
                    case "show_val":
                        item.text = @"显示节点数值";
                        break;
                    case "title_def":
                        item.text = @"标题";
                        break;
                    case "undo_all":
                        item.text = @"还原缩放/移动";
                        break;

                    case "unpan":
                        item.text = @"还原移动";
                        break;

                    case "unzoom":
                        item.text = @"还原缩放";
                        break;

                    case "x_title_def":
                        item.text = @"x 轴";
                        break;
                    case "y_title_def":
                        item.text = @"y 轴";
                        break;

                }
            }
        }