鼠標移動到曲線圖上顯示值,鼠標移動曲線圖
完成折線圖報表後,產品經理要求把折線上的數值去掉,鼠標經過折線點時顯示數值,實現方法如下:
該方法針對dotnetcharting 下的charting折線圖報表使用。
實現思路,在該窗體上添加一個lable標簽,當鼠標經過折線點時獲取該點的x軸,y軸值和鼠標坐標值。然後將lable的坐標標記為鼠標所在坐標,並且給lable賦值,並且將lable顯示出來。
/// <summary>
/// 鼠標移動到曲線圖上顯示值
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void chart4_MouseMove(object sender, MouseEventArgs e)
{
var chart = sender as Chart;
if (chart != null)
{
HitTestInfo hit = chart.HitTest(e.X, e.Y);
var o = hit.Object as Element;
if (o != null)
{
var yvaule = o.YValue;
label2.Visible = true;//鼠標經過時label顯示
label2.Text = yvaule.ToString(CultureInfo.InvariantCulture);
label2.Location = new Point(e.X, e.Y - 20);
}
else//鼠標離開時lable隱藏
{
label2.Visible = false;
}
}
}
折線圖和其他報表的生成可參考 dotnetcharting 的簡單使用
問用vs2010 c#自帶的chart控件畫曲線圖,怎可以使鼠標移到曲線上時可以夠顯示出該點在坐標系的坐標值?
private void chart1_MouseMove(object sender, MouseEventArgs e) { //這是鼠標所在控件的坐標,你可以和你的坐標系統進行換算 label1.Text = e.X.ToString(); label3.Text = e.Y.ToString(); }
Labview中,怎獲取波形圖曲線的當前值?就是可以顯示鼠標所指點的坐標值
這個你要用游標來實現,其它方法好像行不通!你可以創建單曲線游標,鼠標將游標移動到曲線的當前點,你就可以看游標工具欄中看到當前值了。
如果你想做成TIP一樣的自動提示,不好實現,我曾經問過NI的工程師,只能通過創建一個文本框,控制文本框的顯示、隱藏、移動來實現類似TIP一樣的功能!