1。坐标轴范围、刻度调整后需要加上下面的语句才能刷新:
    zedGraphControl1.AxisChange();
    zedGraphControl1.Refresh();

2。坐标范围变大后,相应地刻度间隔值也要放大,否则刻度线就会挤在一起。可以把刻度设成自动间隔:
    this.zedGraphControl1.GraphPane.XAxis.Scale.MajorStepAuto = true;
    this.zedGraphControl1.GraphPane.YAxis.Scale.MajorStepAuto = true;
    this.zedGraphControl1.GraphPane.XAxis.Scale.MinorStepAuto = true;
    this.zedGraphControl1.GraphPane.YAxis.Scale.MinorStepAuto = true;

3。ZedGraphControl.Paint事件是当图表控件窗口需要重画时触发,比如控件被遮挡、缩放、在程序间切换等。而ZedGraphControl需要重画时,并不保证会触发button.Paint事件。添加图形的方式请参照ArcObj的做法,这是“标准”的做法。

4。没有,需要自己实现。参考:
   http://msdn.microsoft.com/en-us/library/a0z3f662.aspx
   http://msdn.microsoft.com/en-us/library/6a1d65f4.aspx
   已经图形变换的相关基础知识:
   http://msdn.microsoft.com/en-us/library/3zxbwxch.aspx

5。这个代码是我自己写的。ZedGraph是开源的,你可以下载它的源码,模仿EllipseObj可以很容易做出其它类型的图形对象。上次给你的wiki链接和forum就是比较集中的资源:
   http://sourceforge.net/p/zedgraph/discussion/392232/

参考文章

jshi123 (#6),ZedGraph中调用GDI+中的DrawArc()方法画圆弧

05-23 20:05