C # - Рисование на PictureBox в событии Paint не отображается - PullRequest
0 голосов
/ 10 октября 2019

Я хочу рисовать на 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 срабатывает несколько раз в секунду). Что я должен сделать, чтобы все работало так, как я хочу?

...