C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: MSChart上に線を描いても消えてしまう


(過去ログ 88 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■52603 / inTopicNo.1)  MSChart上に線を描いても消えてしまう
  
□投稿者/ kaze (8回)-(2010/08/17(Tue) 17:06:29)

分類:[C#] 

お世話になります。
VS2010を使用しています。
MSChartにて作成したグラフ上に線を引かせようとしています。
以下のように二つのボタンで別々に実行すれば線が描画されるのですが、
コメント部分を外した時のようにグラフ描画→線の描画を連続で処理させようとすると、一瞬描画されるようなのですが消されてしまいます。
実際はマウスに合わせて線を動かしたいので、ある程度の速度が要求されるのですが、この場合どのようにしたら良いのでしょうか?
よろしくお願いします。


private void button1_Click(object sender, EventArgs e)
{
subGraphDraw();
}

private void button2_Click(object sender, EventArgs e)
{
// subGraphDraw();
subLineDraw();
}

private void subGraphDraw()
{
chart1.Series.Clear(); // 系列を初期化
chart1.Series.Add("test1");
chart1.Series[0].Points.AddXY(1, 4);
chart1.Series[0].Points.AddXY(2, 3);
chart1.Series[0].Points.AddXY(3, 5);
}

private void subLineDraw()
{
Random rnd = new Random();
int xx = rnd.Next(10, 200);

Graphics g = chart1.CreateGraphics();
g.DrawLine(new Pen(Brushes.Green, 5), new Point(xx, 15), new Point(xx, 200)); // 直線を描画
g.Dispose();
}
引用返信 編集キー/
■52605 / inTopicNo.2)  Re[1]: MSChart上に線を描いても消えてしまう
□投稿者/ 魔界の仮面弁士 (1752回)-(2010/08/17(Tue) 18:03:39)
No52603 (kaze さん) に返信
> MSChartにて作成したグラフ上に線を引かせようとしています。

MSChart を使った事が無いので、System.Windows.Forms.Control についての
一般論で答えてしまいますが、通常、CreateGraphics は、ごく一時的な描画にしか使えません。

継続的に描画されたままにしたい場合には、CreateGraphics を使うのでは無く、
Paint イベントの e.Graphics を利用してみてください。
http://social.msdn.microsoft.com/Forums/ja-JP/vbexpressja/thread/35c18b2c-199e-4be1-9dea-db516d6c8916
引用返信 編集キー/
■52616 / inTopicNo.3)  Re[2]: MSChart上に線を描いても消えてしまう
□投稿者/ kaze (9回)-(2010/08/18(Wed) 11:55:05)
> MSChart を使った事が無いので、System.Windows.Forms.Control についての
> 一般論で答えてしまいますが、通常、CreateGraphics は、ごく一時的な描画にしか使えません。
>
> 継続的に描画されたままにしたい場合には、CreateGraphics を使うのでは無く、
> Paint イベントの e.Graphics を利用してみてください。
> http://social.msdn.microsoft.com/Forums/ja-JP/vbexpressja/thread/35c18b2c-199e-4be1-9dea-db516d6c8916

上にフォームを重ねたりしている訳でも無いのに消えてしまうのは謎のままですが、Paintイベントを使用することで正常に動作するようになりました。
ありがとうございます。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -