グループボックスに円を描画しようとしていますが、テキストボックスの入力が変更されたときに瞬時に円のサイズが変更されます。c#windowsの同心円を描画するアプリケーション
private void groupBox1_Paint(object sender, PaintEventArgs e)
{
//CIRCLE
Graphics graphics = e.Graphics;
Pen p = new Pen(Color.Black, 1);
float S = float.Parse(textBox1.Text);
Rectangle r = new Rectangle(50, 50, (int)S, (int)S);
graphics.DrawEllipse(p, r);
graphics.Dispose();
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
groupBox1.Paint += new PaintEventHandler(this.groupBox1_Paint);
this.Controls.Add(groupBox1);
}
グラフィックを破棄しないでください(グラフィックスを自分で作成した場合を除きます)。また、フォームのコンストラクタに 'Paint'のイベントハンドラを追加すると、複数のハンドラを重複して追加することになります。 –