• 27 Febbraio 2008
  • 1 Stella2 Stelle3 Stelle4 Stelle5 Stelle 1 voti

Disegnare su un Form C#

Per disegnare su un Windows Form in C# bisogna effettuare l’override della funzione OnPaint del form.

In questo articolo vedremo, come esempio, come disegnare una specie di X nel form, che in pratica sarà formata da due linee, una che parte in alto a sinistra e arriva in basso a destra ed una perpendicolare a questa a formare una X.

Vediamo quindi come sarà il metodo OnPaint:

protected override void OnPaint(PaintEventArgs e)
{
//Ricavo l'oggetto Graphics
Graphics g = e.Graphics;
//Costruisco un oggetto Pen impostando il colore nero
Pen pen = new Pen(Color.Black);
//Disegno la prima linea
g.DrawLine(pen, 0, 0, this.ClientSize.Width, this.ClientSize.Height);
//Disegno la seconda linea
g.DrawLine(pen, this.ClientSize.Width, 0, 0, this.ClientSize.Height);
}

Come si può vedere l’oggetto Graphics lo si ricava dall’argomento PaintEventArgs, quindi si costruisce un oggetto Pen e si disegnano le 2 linee usando il metodo DrawLine di Graphics.

Ovviamente tutti questi oggetti sono inclusi nel namespace System.Drawing, quindi bisogna includerlo all’inizio del file tramite la direttiva using:

using System.Drawing;

Se ora proviamo ad eseguire il programma vedremmo la X come volevamo, ma se si prova a fare il resize del form si vedrebbe solamente un pasticci di linee.

Per evitare questo bisogna far effettuare il Refresh() al Form durante il resize. Basta quindi gestire l’event Resize con una funzione del genere:

private void Form1_Resize(object sender, EventArgs e)
{
this.Refresh();

In questo modo ad ogni Resize del form sarà richiamata la funzione OnPaint e la X verrà ridisegnata, assicurandoci sempre una corretta visione.

RSScommenti all'articolo (0)

scrivi commento

Nome:

Email:

Url:




E’ con immensa soddisfazione che comunico che mondoinformatico.info ha superato i 1.000 articoli pubblicati!

Ebbene si, sembra incredibile ma tantissimi di voi hanno scritto molti articoli, alcuni molto interessanti, altri meno ma tutti originali, unici e in tema.

Il traguardo…

Ultimi Articoli Commenti

Inserisci il tuo indirizzo e-mail per rimanere aggiornato sulle novità del sito.

  • SONDAGGIO
Che notizie vorresti trovare su mondoinformatico?
Visualizza risultati
  • CRITEO
  • CHATTING

utenti online

Ci sono attualmente 0 utenti e 21 ospiti collegati