场景

Winforn中设置ZedGraph曲线图的属性、坐标轴属性、刻度属性:

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

在上面实现曲线缩放效果之后,实现一键复原的效果。

效果

实现

拖拽按钮,双击进入其点击事件

  private void button7_Click(object sender, EventArgs e){//一键复原缩放this.zedGraphControl1.ZoomOutAll(myPane);}

完整示例代码

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using ZedGraph;namespace ZedGraphTest
{public partial class Form1 : Form{GraphPane myPane = new GraphPane();public Form1(){InitializeComponent();//Form1初始化后创建设置控件的方法并将当前ZedGraph控件传递createPane(zedGraphControl1);}//需要引入命名空间--using ZedGraph;public void createPane(ZedGraphControl zgc){myPane = zgc.GraphPane;//设置图表标题 和 x y 轴标题myPane.Title.Text = "霸道测试标题";myPane.XAxis.Title.Text = "X轴标题";myPane.YAxis.Title.Text = "Y轴标题";//更改标题的字体FontSpec myFont = new FontSpec("Arial",16,Color.Black,false,false,false);myPane.XAxis.Title.FontSpec = myFont;myPane.YAxis.Title.FontSpec = myFont;// 造一些数据,PointPairList里有数据对x,y的数组Random y = new Random();PointPairList list1 = new PointPairList();for (int i = 0; i < 36; i++){double x = i;double y1 = y.NextDouble() * 1000;list1.Add(x, y1); //添加一组数据}// 用list1生产一条曲线,标注是“曲线1”//SymbolType,枚举代表曲线的样式//Square = 0,//Diamond = 1,//Triangle = 2,//Circle = 3,//XCross = 4,//Plus = 5,//Star = 6,//TriangleDown = 7,//HDash = 8,//VDash = 9,//UserDefined = 10,//Default = 11,//None = 12,LineItem myCurve = myPane.AddCurve("曲线1", list1, Color.Red, SymbolType.None);//填充图表颜色myPane.Fill = new Fill(Color.White, Color.LightGray, 45.0f);//以上生成的图标X轴为数字,下面将转换为日期的文本string[] labels = new string[36];for (int i = 0; i < 36; i++){labels[i] = System.DateTime.Now.AddDays(i).ToShortDateString();}#region 坐标轴属性设置//X轴类型myPane.XAxis.Type = AxisType.Text;  //显示小刻度 是false则看不到效果myPane.XAxis.MinorGrid.IsVisible = true;//线的颜色myPane.XAxis.Color = Color.Black;//点线中点与点之间的间隔myPane.XAxis.MinorGrid.DashOff = 1f;//点线中点的长度myPane.XAxis.MinorGrid.DashOn = 1f;//画笔宽度myPane.XAxis.MinorGrid.PenWidth = 1f;#endregion#region 坐标轴上刻度线设置//X轴文本取值myPane.XAxis.Scale.TextLabels = labels;//第一个刻度从哪里开始myPane.XAxis.Scale.BaseTic = 1;//刻度值的字体属性myPane.XAxis.Scale.FontSpec = myFont;#endregion//画到zedGraphControl1控件中,此句必加zgc.AxisChange();//在数据变化时绘图//更新图表zedGraphControl1.Invalidate();//重绘控件Refresh();#region 属性设置//是否允许横向缩放this.zedGraphControl1.IsEnableHZoom = true;//是否允许纵向缩放this.zedGraphControl1.IsEnableVZoom = true;//是否允许缩放this.zedGraphControl1.IsEnableZoom = true;//是否显示右键菜单this.zedGraphControl1.IsShowContextMenu = true;//复制图像时是否显示提示信息this.zedGraphControl1.IsShowCopyMessage = true;//鼠标在图表上移动时是否显示鼠标所在点对应的坐标 默认为falsethis.zedGraphControl1.IsShowCursorValues = true;//是否显示横向滚动条this.zedGraphControl1.IsShowHScrollBar = true;//是否显示纵向滚动条this.zedGraphControl1.IsShowVScrollBar = true;//鼠标经过图表上的点时是否显示该点所对应的值 默认为falsethis.zedGraphControl1.IsShowPointValues = true;//使用滚轮时以鼠标所在点为中心进行缩放还是以图形中心进行缩放//this.zedGraphControl1.IsZoomOnMouseCenter = true;#endregionthis.zedGraphControl1.ContextMenuBuilder += MyContextMenuBuilder;}private void zedGraphControl1_Load(object sender, EventArgs e){}/// <summary>/// 打印预览/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void button1_Click(object sender, EventArgs e){this.zedGraphControl1.DoPrintPreview();}//复制到剪切板private void button2_Click(object sender, EventArgs e){//ture代表复制成功提示this.zedGraphControl1.Copy(true);}/// <summary>/// 获取图片并保存/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void button3_Click(object sender, EventArgs e){//获取图像Image image = this.zedGraphControl1.GetImage();//保存照片吗,指定保存路径image.Save(@"C:\Users\HAOHAO\Desktop\1.png");//弹窗提示MessageBox.Show("保存成功");}/// <summary>/// 显示另存为对话框/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void button4_Click(object sender, EventArgs e){this.zedGraphControl1.SaveAs();}/// <summary>/// 另存为BMP文件/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void button5_Click(object sender, EventArgs e){this.zedGraphControl1.SaveAsBitmap();}/// <summary>/// 另存为EMF文件/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void button6_Click(object sender, EventArgs e){this.zedGraphControl1.SaveAsEmf();}/// <summary>/// 一键复原/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void button7_Click(object sender, EventArgs e){//一键复原缩放this.zedGraphControl1.ZoomOutAll(myPane);}//右击菜单变中文private static void MyContextMenuBuilder(ZedGraphControl control, ContextMenuStrip menuStrip,Point mousePt, ZedGraphControl.ContextMenuObjectState objState){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;}}}}
}

Winform中实现ZedGraph曲线图缩放后复原功能相关推荐

  1. Winform中实现ZedGraph滚轮缩放后自动重新加载数据

    场景 Winforn中设置ZedGraph曲线图的属性.坐标轴属性.刻度属性: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10 ...

  2. Winform中设置ZedGraph曲线图的字体样式是避免出现边框

    场景 Winforn中设置ZedGraph曲线图的属性.坐标轴属性.刻度属性: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10 ...

  3. Winform中设置ZedGraph曲线图的水平与竖直参考线

    场景 Winforn中设置ZedGraph曲线图的属性.坐标轴属性.刻度属性: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10 ...

  4. Winform中实现ZedGraph曲线图的图像复制到剪切板、打印预览、获取图片并保存、另存为的功能

    场景 Winforn中设置ZedGraph曲线图的属性.坐标轴属性.刻度属性: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10 ...

  5. 史上最全Winform中使用ZedGraph教程与资源汇总整理(附资源下载)

    场景 C#窗体应用中使用ZedGraph曲线插件绘制图表: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/99716066 Win ...

  6. Winform中自定义ZedGraph右键复制成功后的提示

    场景 Winform中实现ZedGraph中曲线右键显示为中文: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/100115292 ...

  7. Winform中设置ZedGraph鼠标滚轮缩放的灵敏度以及设置滚轮缩放的方式(鼠标焦点为中心还是图形中心点)

    场景 Winforn中设置ZedGraph曲线图的属性.坐标轴属性.刻度属性: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10 ...

  8. Winform中设置ZedGraph的字体和间距不随图形的缩放而缩放

    场景 C#窗体应用中使用ZedGraph曲线插件绘制图表: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/99716066 Win ...

  9. Winform中使用ZedGraph实现曲线图中字体去掉边框

    场景 Winforn中设置ZedGraph曲线图的属性.坐标轴属性.刻度属性: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10 ...

最新文章

  1. 玩转python轻松过二级_关于通话的阿里云论坛用户知识和技术交流
  2. 残缺的完美 送给飘
  3. oracle点勾算提交吗,oracle表结构和数据导出时的一些勾选项说明
  4. 转换到 COFF 期间失败: 文件无效或损坏
  5. [UVALive 3177] Beijing Guards
  6. pyspark报错java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver
  7. 最近写SQL老出错!
  8. ORACLE DATAGURARD配置手记
  9. 10、并发容器,ConcurrentHashMap
  10. 互联网开源贡献是什么意思_为什么我们为开源软件做出贡献?
  11. [Linux] C 语言遍历文件夹
  12. QT不同线程间signal-slot机制的值传递
  13. 重置PL/SQL Developer工具栏布局
  14. 9ztu.com 就找图商品图片商品条码搜索引擎
  15. 在Nutz中给Druid配置数据库加密
  16. 操作系统部分知识点(持续更新)
  17. Tomcat 下载安装教程
  18. 连接打印机错误0x000000bcb解决方法
  19. 如何把一张图片设置成一个应用程序的图标?
  20. 【3y原创】什么是保险

热门文章

  1. opencart mail.php,如何修改OpenCart系统发信邮箱模板
  2. Java必备主流技术流程图
  3. freemarker模板最小案例实现
  4. 分布式CAP详解,为什么三个指标不可能同时做到。
  5. 在Qt在GUI程序里显示控制台界面
  6. php数组去重的函数,php数组去重的函数代码
  7. maven 不编译jasper文件_第一个SpringBoot项目、核心配置文件properties(yml、yaml)、集成jsp...
  8. windows nginx c++读取请求数据_震撼!全网第一张源码分析全景图揭秘Nginx
  9. php怎么弄自动填充,ThinkPHP 自动填充(自动完成)详解及实例
  10. Linux安装指定版本Angular Cli