ZedGraph学习日志
在学习ZedGraph的过程中,入门经历一个门槛。
阅读http://www.codeproject.com/KB/graphics/zedgraph.aspx中的入门例子之后,学会画一个GraphPane,然后进一步学习绘制多个GraphPane的多图画面。
认识ZedGraph控件,有三个最重要的类:
ZedGraphControl即是ZedGraph控件;其次是MasterPane类,它用于管理一个或多个GraphPane.
MasterPane有自己的Rect(Rectangle,矩形或区域),坐标是相对于所属的ZedGraphControl控件的左上角为坐标原点;
GraphPane的坐标并不以MasterPane为参照,而同样以ZedGraphControl控件的左上角为坐标原点为参照。
在绘制多图(多GraphPane)的画面时,遇到了耗时多天的困惑:
即,当需要控制ZedGraphControl控件中的MasterPane及GraphPane的位置及尺寸时,ZedGraphControl控件中的Dock属性应设置为None,否则,当窗口尺寸改变,触发一些不明事件,最终的效果是GraphPane被自动重新布置到控件的可视区域内。类似的,Anchor属性只能够选择最多两个相邻的方向(确保ZedGraphControl控件的size不会自动改变),或者干脆不靠,否则也会触发令GraphPane被自动重新布置到控件的可视区域内。
了解以上特性之后,就能够自己来布置图形的位置和大小了。
但仍遗留有这样一个重要问题:
当图形的尺寸需要大于可视区域时,如何设置滚动条?使得通过滚动查看到位置处于ZedGraphControl控件可视区域外的图形?
ZedGraphControl控件自己带的滚动条的问题:
我的具体应用中,希望(需要)当MasterPane或GraphPane的区域大于ZedGraphControl控件的尺寸时,可以通过滚动条滚动看到所有的GraphPane和MasterPane区域。
可是,ZedGraphControl控件的滚动条有二意性,即可能滚动的是那个对象?