zoukankan      html  css  js  c++  java
  • 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;
    
                    }
                }
            }
  • 相关阅读:
    ZOJ 3332 Strange Country II
    ZOJ 3331 Process the Tasks(双塔DP)
    ZOJ 3326 An Awful Problem(模拟)
    HDU 1796 How many integers can you find(容斥原理)
    HDU 4059 The Boss on Mars(容斥原理)
    HDU 4135 Co-prime(容斥原理)
    HDU 5677 ztr loves substring(回文串加多重背包)
    CodeForces 668B Little Artem and Dance
    CodeForces 667A Pouring Rain
    Java实现 LeetCode 764 最大加号标志(暴力递推)
  • 原文地址:https://www.cnblogs.com/badaoliumangqizhi/p/11430398.html
Copyright © 2011-2022 走看看