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

场景

Winform中实现ZedGraph中曲线右键显示为中文:

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

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

效果

源码下载

https://download.csdn.net/download/badao_liumang_qizhi/11636420

实现

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

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

        }

位置

完整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;

                }
            }
        }
原文地址:https://www.cnblogs.com/badaoliumangqizhi/p/11430398.html