public void GridCreate()
{
Graphics g = pictureBox1.CreateGraphics();
SolidBrush brushBlack = new SolidBrush(Color.Black);
Rectangle[,] block = new Rectangle[16, 16];
for (int i = 0; i <= block.GetLength(0) - 1; i++)
{
for (int n = 0; n <= block.GetLength(0) - 1; n++)
{
block[n, i] = new Rectangle(i * blockSize, n * blockSize, 20, 20);
g.FillRectangle(brushBlack, block[n, i]);
}
}
data.block = block;
}
private void Form1_Shown(object sender, EventArgs e)
{
GridCreate();
}
WindowsFormsでPictureBoxを使ってグリッドを作ろうとしているのですが、関連するコードがうまく動きdata.block = block;
ませg.FillRectangle(brushBlack, block[n, i]);
ん。Form1_Shown
これは次の理由から、問題はイベントにあると思います。
private void Form1_Click(object sender, EventArgs e)
{
GridCreate();
}
完全に正常に実行されます。
Overrideprotected override void OnShown(EventArgs e)
は と同じ結果になりForm1_Shown
ます。