私はC#が初めてで、配列を使用して四角形を描画する必要があります。私のコードは次のとおりです。
Rectangle[] rec;
int rec_part=2;
public Form1()
{
InitializeComponent();
rec = new Rectangle[rec_part];
for (int i = 0; i <rec_part; i++)
{
rec[i] = new Rectangle(10, 100, 40,40);
}
}
したがって、私のコードは一度に 1 つの Rectangle のみを描画します。
Graphics g;
private void Form1_Paint(object sender, PaintEventArgs e)
{
g = e.Graphics;
for (int i = 0; i<(rec_part); i++)
{
g.FillRectangle(new SolidBrush(Color.Blue), rec[i]); //exception here
}
}
問題は、長方形を移動したいと同時に、長方形配列の長さを増やしたいということです! すなわち
int speed = 2;
private void timer1_Tick(object sender, EventArgs e)
{
for (int i = 0; i < rec.Length; i++)
{
rec[i].X += speed;
rec_part+=1; // here i want to increment the rectangles
this.Refresh();
}
}
私の目的は、タイマーが機能し始めたら、長方形の数を増やすことです。しかし、境界外のインデックスの例外が発生しています! どうすればそれを行うことができますか?前もって感謝します!