こんにちは、私は3つのボタン(矩形、円、線)を持つ "ミニペイント"アプリケーションを作ろうとしています。私はbuttons
の作業に問題があります。たとえば、私は形から色を継承し、この矩形クラス、厚さ、startpointsのX、Yを持っている:ボタンクリックウィンドウのフォームC#
class rectangle : shape
{
public int length { get; set; }
public int width { get; set; }
public override void Draw(Graphics g)
{
g.DrawRectangle(new Pen(color), new Rectangle(startx, starty, width, length));
}
}
は、今私は、私はそれをクリックしたときに私のrectangle_btn_Click
が私panel
で四角形を印刷したいです。ここに私のpanel
コードです:
private void panel1_Paint(object sender, PaintEventArgs e)
{
Graphics g = panel1.CreateGraphics();
}
、これが私のbutton
です:
private void rectangle_btn_Click(object sender, EventArgs e)
{
rectangle r = new rectangle();
int retval = r.Draw(g);
}
しかし、それはエラーがあり、それがg
を認識しません。この仕事をどうすればいいですか?
dispose = badはありません。 – Sinatr
この解決方法は構文エラーを修正し、矩形を描画しますが、 'panel1'を再描画するとその矩形は消えます。私が何を話しているのかを見るために、アプリケーションを最小化し、再度最大化してください(四角形が描かれた後)。 –
@ krw12572あなたの懸念を考慮して私の答えを更新します。私もそれをテストし、最小化して最大化した後でも正しく動作するはずです。 –