2

そのため、ツールチップを使用してデータ ポイントにカーソルを合わせたときにチャート データを表示する例をたくさん見てきましたが、マウスが単にチャート上にあり、必ずしも特定のデータ ポイント (空白他のどこでも)。また、最終的にはデータ ポイント自体に小さな円または正方形を配置したいと考えていますが、それは後で行うことができます。誰でもこれを行う方法を教えてもらえますか? 以下に現在のコードを含めます。

 private void chData_MouseMove(object sender, MouseEventArgs e)
    {            
        HitTestResult pos = chData.HitTest(e.X, e.Y);
        if (pos.ChartElementType == ChartElementType.DataPoint)
        {
            string tipInfo;
            tipInfo = "Bat 1: " + ch1Array[pos.PointIndex].ToString("0.00") + Environment.NewLine + "Bat 2: " + ch2Array[pos.PointIndex].ToString("0.00") + Environment.NewLine;                
            tooltip.SetToolTip(chData, tipInfo);    
        }

    }

if ステートメントの引数を変更する必要があると思いますが、何を変更するかはわかりません。
どんな助けでも大歓迎です!

4

1 に答える 1

2

したがって、解決策は HitTest を使用しないことでした。代わりに PixelPositionToValue を使用すると、はるかにうまく機能します。以下にコードを含めます。

private void chData_MouseMove(object sender, MouseEventArgs e)
    {
        try
        {   
            int cursorX = Convert.ToInt32(chData.ChartAreas[0].AxisX.PixelPositionToValue(e.Location.X));

            tipInfo = "Bat 1: " + ch1Array[cursorX].ToString("0.00") + Environment.NewLine + "Bat 2: " + ch2Array[cursorX].ToString("0.00") + Environment.NewLine;

            tooltip.SetToolTip(chData, tipInfo);

        }
        catch { }
    }
于 2012-12-13T20:46:02.460 に答える