问题描述
希望能达到的效果是这样,就是鼠标在图的范围内滚动,然后也出现一个纵线和横线(这一点我目前实现了总线横线没实现),同时能显示在当前这个坐标下曲线图内的当前节点数值以及当前的x轴值(目前我开启IsShowCursorValues属性,但是他返回的是鼠标的坐标,并不是x和y上的值),就和股票软件差不多。我研究了一下应该是通过zedGraphControl1_CursorValueEvent事件处理器获取,但是还是找不到核心的值,感谢大家,谢谢!在控件板块没人理,所以在这里发一下,感谢大家!邀请并且感谢一下cfz379945430这位老师,因为他在http://bbs.csdn.net/topics/390841381这里的回答帮我解决了纵线的问题,转发一下也希望能帮助到其他朋友.另,我在另外的控件区也发了这个帖子,等了两天没有回复,因为急用,所以重新发一个,若有违反版规,版主请删除老的帖子,给你添麻烦了。
解决方案
解决方案二:
照你看到的帖子中修改加了Y轴线,不知是否正确,控件没加双缓冲,闪的厉害,没继续研究//鼠标移动时候显示坐标提示privatevoidzedGraphControl1_MouseMove(objectsender,MouseEventArgse){intx=e.X;inty=e.Y;using(Graphicsgc=zedGraphControl1.CreateGraphics())using(Penpen=newPen(Color.Gray)){pen.DashStyle=System.Drawing.Drawing2D.DashStyle.Dot;RectangleFrect=zedGraphControl1.GraphPane.Chart.Rect;if(rect.Contains(e.Location)){zedGraphControl1.Refresh();gc.DrawLine(pen,x,rect.Top,x,rect.Bottom);gc.DrawLine(pen,rect.Left,y,rect.Right,y);}}}
解决方案三:
IsShowCursorValue=true则显示坐标值
解决方案四:
引用2楼akuma8848的回复:
IsShowCursorValue=true则显示坐标值
感谢这位朋友,我把你的代码复制进去,果然可以出现横竖线了,现在还有一个问题就是显示数值,我想显示的不是坐标值,而是在这个位置的‘股价值’,比如我现在在的绝对坐标是x:10,y:20,x10上对应的数值是时间,y上则是对应的股价,其实想达到的效果就是类似IsShowPointValues=true;给出的数值,但是是希望结合上IsShowCursorValue=true的灵活性!再次谢谢你朋友!
解决方案五:
toolTip1.Show(x.ToString(),this,x,y);没找到zedgraph的设置那个点提示内容的地方,不过用tooltip也可以做,不过纵坐标估计得调整一下,目前效果是跨Y轴的。
解决方案六:
引用4楼akuma8848的回复:
toolTip1.Show(x.ToString(),this,x,y);没找到zedgraph的设置那个点提示内容的地方,不过用tooltip也可以做,不过纵坐标估计得调整一下,目前效果是跨Y轴的。
朋友想问下这句代码是放在那里的?谢谢你的回复!
解决方案七:
已经找到了,是放到zedGraphControl1_MouseMove里,但是他给出的那个string只是一个鼠标所属的坐标,我是希望鼠标挪动的时候可以显示{时间(x轴值),股价(y轴值)}这样的效果,不知道能不能实现。谢谢