CreateGraphics() la Méthode et la Peinture de l'Événement Args
J'ai lu quelque part que CreateGraphics()
va faire les démarches pour nous :
- BeginPaint
- Dessin
- EndPaint
J'ai mon code comme ceci :
private void Form1_Load(object sender, EventArgs e)
{
grFrom = this.CreateGraphics();
grFrom.FillRectangle(Brushes.Red, this.ClientRectangle);
}
Il n'y a pas de rectangle rouge...mais, Quand je copie la ligne ci-dessous dans Form1_paint
, chaque chose s'exécute correctement.
grFrom.FillRectangle(Brushes.Red, this.ClientRectangle);
Donc, la Question est Ici:
Qu'est-ce que le e.Graphics
dans Form1_paint
?
CreateGraphics
ou e.Graphics
?
OriginalL'auteur S.A.Parkhid | 2011-03-18
Vous devez vous connecter pour publier un commentaire.
Deux choses:
Dispose()
avant de quitter. Vous devez faire votre déclaration à l'intérieur d'un bloc using.OriginalL'auteur Reed Copsey
Votre formulaire de charge de l'appel est le dessin de la forme, mais la première forme régulière de la peinture événement écrit sur elle, de sorte que vous ne jamais le voir. (Comme cela se passe devant vos présenté le formulaire)
Je suis assez sûr que le sont équivalent, vous avez besoin d'une meilleure compréhension de la windows forms événement du cycle de vie.
Cette réponse a des liens pertinents:
WinForms événement du cycle de vie
OriginalL'auteur asawyer
Vous créez un nouvel objet graphique, ce qui est plus probable soutenu par une mémoire tampon. Les objets Graphiques que vous obtenez à partir
e.Graphics
est soutenu par une mémoire tampon qui représente la zone de l'écran par la fenêtre en cours (fenêtre comme dans la Poignée de la Fenêtre, pas une fenêtre avec barre de titre, etc).Vous pouvez toujours peu blit les données à partir d'un objet graphique sur l'un de
e.Graphics
.Je suis sûr que quelqu'un va élaborer beaucoup plus que moi.
OriginalL'auteur Andrew T Finnell