场景
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; } } }