私は徹底的に検索を使用しましたが、私の問題に対する満足のいく解決策を見つけることができませんでした。windows forms:C#でチャート上に透明なグラフィックを作成
グラフ(datavisualization.charting.chart)を使用してデータ視覚化をプログラミングしました。このグラフは、何らかのシミュレーション結果を示して以来、着実に変化しています。 文脈依存の情報を表示するために、グラフ上にマウスの位置に応じて線を描きたいと思います。
したがって、私は両方のどれも、私はそれを希望とおりに機能しない、2つの実装を試みた:
plotLineは
gGraphを使用して、基礎となるグラフから作成さMouseMove-イベントで呼ばれる:(chartCreateGraphics)を;
protected void plotLine(object sender, System.EventArgs e)
{
if (this.chart.Series.Count > 0) //ensure that the chart shows data
{
plotChart(); // this plots the underlying chart
penGraph = new Pen(Color.Black);
Point point1 = new Point(Form1.MousePosition.X - chart.Location.X, 0);
Point point2 = new Point(Form1.MousePosition.X - chart.Location.X,
chart.Location.Y + chart.Size.Height);
gGraph.DrawLine(penGraph, point1, point2);
penGraph.Dispose();
}
}
ここで、線はプロットされた直後に消えますが、マウスが移動しない限り、そのままでなければなりません。チャートは新でプロットされていないよう
protected void plotLine(object sender, System.EventArgs e)
{
penGraph = new Pen(Color.Black);
Point point1 = new Point(Form1.MousePosition.X - chart.Location.X, 0);
Point point2 = new Point(Form1.MousePosition.X - chart.Location.X,
chart.Location.Y + chart.Size.Height);
gGraph.DrawLine(penGraph, point1, point2);
penGraph.Dispose();
}
はここで、すべてのプロットラインは、限り、グラフィックス面に残ります。 (マウスの位置を示すために最後の行だけを残す必要があります)
誰かが私を助けることができますか?
_gGraphは、下のグラフを使用して作成されます。chart.CreateGraphics(); _これは間違いです。 – TaW