作成日: 2020/08/27 最終更新日: 2022/05/26
文書種別
使用方法
詳細
FlexChartでは、FlexGrid for WinFormsなどと同様に、HitTestメソッドを用いたヒットテストをサポートし、実行時にコントロールの特定ポイントの情報を取得できます。
例えば、FlexChartのMouseDownイベントにて、マウスクリック時のポインタ位置をパラメータとして渡してHitTest(Point)メソッドを実行して、ポインタ下のグラフ要素(グラフデータ点のインデックス、X値、Y値、シリーズ名など)を得ることができます。
ヒットテストの詳細については、製品ヘルプの下記項目をご参照ください。
◇製品ヘルプ
ヒットテスト
以下に、マウスクリックした点のグラフ要素を確認する簡単な例を記載します。
◎サンプルコード(VB)
例えば、FlexChartのMouseDownイベントにて、マウスクリック時のポインタ位置をパラメータとして渡してHitTest(Point)メソッドを実行して、ポインタ下のグラフ要素(グラフデータ点のインデックス、X値、Y値、シリーズ名など)を得ることができます。
ヒットテストの詳細については、製品ヘルプの下記項目をご参照ください。
◇製品ヘルプ
ヒットテスト
以下に、マウスクリックした点のグラフ要素を確認する簡単な例を記載します。
◎サンプルコード(VB)
Imports C1.Chart
Imports C1.Win.Chart
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
'折れ線グラフの作成
Dim series1 As New Series() With {
.ChartType = C1.Chart.ChartType.LineSymbols,
.Name = "series1",
.Binding = "Y",
.BindingX = "X",
.DataSource = New PointF() {New PointF(1, 1), New PointF(2, 2), New PointF(3, 3)}
}
'チャートの設定
FlexChart1.Series.Clear()
FlexChart1.Series.Add(series1)
End Sub
Private Sub FlexChart1_MouseDown(sender As Object, e As MouseEventArgs) Handles FlexChart1.MouseDown
' マウスポインタ下のグラフ情報取得
Dim htInfo = FlexChart1.HitTest(e.Location)
If Not htInfo.Item Is Nothing AndAlso htInfo.Distance < 5 Then
System.Diagnostics.Debug.WriteLine("MouseDown:" + " " + htInfo.PointIndex.ToString + " " + htInfo.X.ToString + " " + htInfo.Y.ToString + " " + htInfo.Series.Name)
End If
End Sub
End Class
◎サンプルコード(C#)using C1.Chart;
using C1.Win.Chart;
namespace WindowsFormsApp1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
// 折れ線グラフの作成
Series series1 = new Series()
{
ChartType = C1.Chart.ChartType.LineSymbols,
Name = "series1",
Binding = "Y",
BindingX = "X",
DataSource = new PointF[] { new PointF(1, 1), new PointF(2, 2), new PointF(3, 3) }
};
// チャートの設定
flexChart1.Series.Clear();
flexChart1.Series.Add(series1);
}
private void flexChart1_MouseDown(object sender, MouseEventArgs e)
{
// マウスポインタ下のグラフ情報取得
var htInfo = flexChart1.HitTest(e.Location);
if ((htInfo.Item != null) && (htInfo.Distance < 5))
{
System.Diagnostics.Debug.WriteLine("MouseDown:" + " " + htInfo.PointIndex.ToString() + " " + htInfo.X.ToString() + " " + htInfo.Y.ToString() + " " + htInfo.Series.Name);
}
}
}
}
関連情報
更新履歴
2022/05/26 タイトルを変更しました。
旧文書番号
85938