Я хочу рисовать на PictureBox, используя Graphics
объект. Я использую DrawMatrix
метод вызова в PictureBox Paint
событие.
void DrawMatrix(Graphics g)
{
for (int i = 0; i < m; i++)
{
for (int j = 0; j < n; j++)
{
if (A[i, j] == 1)
{
g.FillRectangle(b, j * w, i * h, w, h);
}
else
{
g.DrawRectangle(p, j * w, i * h, w, h);
}
}
}
}
private void matrixFieldPictureBox_Paint(object sender, PaintEventArgs e)
{
using (Graphics g = matrixFieldPictureBox.CreateGraphics())
{
DrawMatrix(g);
}
}
В этом случае ничего не отображается в PictureBox. Я пытался вызвать метод matrixFieldPictureBox.Refresh()
в событии Paint
. Я могу видеть рисунок, но это приводит к неудержимому миганию PictureBox (событие Paint
срабатывает несколько раз в секунду). Что я должен сделать, чтобы все работало так, как я хочу?