chart控件中游标如何随着移动?
egd
思路很简单,只需要在⿏标进⼊chart控件时,获取⿏标的位置,然后将数值赋给游标的position属性。具体实现⽅法如下:
1. 选中chart控件、F4进⼊属性窗⼝,在事件中创建MouseMove。
2. 获取⿏标位置(2、3、4、5步骤的代码都是在MouseMove中)
double XVuale = chart1.ChartAreas[0].AxisX.PixelPositionToValue(e.X);
double YVuale = chart1.ChartAreas[0].AxisY.PixelPositionToValue(e.Y);
3. 对⿏标位置进⾏限制。这⾥只针对Y进⾏限制,如果想添加的游标是X⽅向的就要限制X的范围。限制的主要原因是 ,chart控件中⿏ 动平衡试验标的位置范围要⼤于XY轴的数值范围。
if(YVuale > chart1.ChartAreas[0].AxisY.Maximum)
{
YVuale = chart1.ChartAreas[0].AxisY.Maximum;
}
else if(YVuale < chart1.ChartAreas[0].AxisY.Minimum)
{
YVuale = chart1.ChartAreas[0].AxisY.Minimum;
}
5. 最后⼀步就是将⿏标的位置传递给游标的posizion属性:
chart1.ChartAreas[0].CursorY.Position = Trigger;
玻利瓦尔扩展:
列藏本游标总不能⼀直跟着⿏标动 那样的话显⽰的游标就是去了意义,实际上更多的情况是,游标随着⿏标移动,当移动到需要的位置时,点击⼀下⿏标,游标就定在那⾥,不再随着⿏标移动。
其实只需要对chart控件再添加⼀个Click事件就可以了,当然还需要⼀个标志位没⽤来限制游标的移动。具体如下:
棕蝠bool AllowCursorYMove =true;//⼀开始允许游标移动
private void chart1_Click(object sender, EventArgs e)
{
AllowCursorYMove =false;//点击⿏标后禁⽌移动
课堂管理案例}
既然Click事件限制了游标的移动,那么在chart控件的MouseMove事件中就需要对AllowCursorYMove 进⾏判断。