UserControl
私はとPictureBox
他のいくつかのコントロールを持っています。Graph
この画像ボックスに曲線を描く方法があるので、この画像ボックスを含むユーザーコントロールの場合:
//Method to draw X and Y axis on the graph
private bool DrawAxis(PaintEventArgs e)
{
var g = e.Graphics;
g.DrawLine(_penAxisMain, (float)(Graph.Bounds.Width / 2), 0, (float)(Graph.Bounds.Width / 2), (float)Bounds.Height);
g.DrawLine(_penAxisMain, 0, (float)(Graph.Bounds.Height / 2), Graph.Bounds.Width, (float)(Graph.Bounds.Height / 2));
return true;
}
//Painting the Graph
private void Graph_Paint(object sender, PaintEventArgs e)
{
base.OnPaint(e);
DrawAxis(e);
}
//Public method to draw curve on picturebox
public void DrawData(PointF[] points)
{
var bmp = Graph.Image;
var g = Graphics.FromImage(bmp);
g.DrawCurve(_penAxisMain, points);
Graph.Image = bmp;
g.Dispose();
}
アプリケーションが起動すると、軸が描画されます。しかし、メソッドを呼び出すと、nullDrawData
という例外が発生します。bmp
何が問題になる可能性がありますか?
DrawData
また、ユーザーがいくつかのボタンをクリックしたときに複数の曲線を表示するために、複数回呼び出すことができるようにしたいと思います。これを達成するための最良の方法は何ですか?
ありがとう