/ / Grafica e Paint Event - c #, winforms

Evento di grafica e pittura - c #, winforms

Ho disegnato qualcosa sulla mia forma

Ma dopo aver minimizzato e ripristinato la forma, il modulo viene chiarito. Quale potrebbe essere il problema?

E questo Codice è sbagliato: (dice JIT :)

private void Form1_Paint(object sender, PaintEventArgs e)
{
grForm = e.Graphics;
}

Poiché il limite di ritaglio di grForm è inferiore a zero o troppo grande.

risposte:

1 per risposta № 1

Non è possibile memorizzare la e.Oggetto grafico che ottieni nell'evento Paint. È valido solo durante l'esecuzione dell'evento Paint, viene eliminato subito dopo. L'uso del metodo CreateGraphics () del modulo non funziona, ma viene eliminato non appena il modulo deve essere ridipinto. Ad esempio, quando lo riduci e lo ripristini.

È necessario utilizzare il metodo Invalidate () del modulo suforza l'evento Paint per correre di nuovo. Quindi disegna qualsiasi cosa debba essere disegnata. Se vuoi che il disegno sia persistente, devi disegnare in una bitmap. Utilizzare e.Graphics.DrawImage () nell'evento Paint per disegnare la bitmap. Questo non è il modo migliore, è meglio ridisegnare quando è necessario.