Scopri come disegnare forme, usare colori e renderizzare immagini in un'app WinForms.
Windows Forms è un framework che ti consente di creare applicazioni desktop. Puoi fare clic e trascinare componenti come pulsanti su un'interfaccia utente visiva. Ti aiuta anche a creare manualmente varie forme all'interno del tuo codice.
Questo articolo ti mostrerà come aggiungere linee, forme e immagini alla tua applicazione. Questa esercitazione usa Visual Studio 2019 Community Edition per mostrare esempi.
Quali sono le classi integrate utilizzate per disegnare grafica?
Windows Form utilizza il Linguaggio di programmazione C#. Le classi e i metodi integrati consentono di disegnare varie forme su un'area di disegno di Windows Form. Questi includono le classi Grafica, Penna, Colore e Pennello.
Classe | Descrizione |
---|---|
Grafica | La classe Graphics consente di disegnare forme e linee sulla tela. Include metodi come:
|
Penna | La classe Pen ti consente di specificare le proprietà di una punta 'penna' che puoi usare per disegnare le tue forme. È possibile specificare proprietà come colore, spessore o stile del trattino. I metodi includono:
|
Colore | Un oggetto colore composto da valori R (rosso), G (verde) e B (blu). Avrai bisogno di un oggetto colore per molti dei metodi integrati che creano forme. |
SolidBrush, HatchBrush, TextureBrush | Queste classi di pennelli derivano dall'interfaccia "Brush". Queste classi ti consentono di colorare gli spazi vuoti sulla tela. Puoi anche scegliere di riempire gli spazi usando diversi motivi o trame. È possibile specificare proprietà come il colore. |
Rettangolo, Linea, Poligono, Ellisse | Puoi creare oggetti basati su queste forme e usarli quando chiami metodi come DrawRectangle(). Invece di passare x, y, larghezza e altezza come argomenti, puoi scegliere di passare invece un oggetto Rectangle esistente. |
Per visualizzare il codice sorgente per un esempio in esecuzione dell'esercitazione sopra, visitare il Archivio GitHub. Puoi provare i seguenti esempi una volta che hai creato un'applicazione Winforms.
Come aggiungere un Paint sul gestore di eventi di caricamento modulo
Innanzitutto, aggiungi un gestore eventi per disegnare forme quando viene caricata l'area di disegno.
- Aggiungi una funzione Paint per il modulo.
private void Form1_Paint (mittente dell'oggetto, PaintEventArgs e)
{
// Il codice va qui
} - Vai nella scheda Vista Progettazione.
- Nella finestra Proprietà, seleziona l'icona del fulmine per aprire la scheda "Eventi".
- In "Paint", in "Aspetto", seleziona la funzione Form1_Paint. Questo eseguirà la funzione quando esegui l'applicazione.
Come disegnare linee su una tela di Windows Form
È possibile utilizzare un metodo Colore, Penna e DrawLine() per disegnare linee su una tela.
- All'interno della funzione Form1_Paint(), crea un oggetto Color con il colore che vuoi che sia la linea. Quindi, crea un oggetto Penna con cui tracciare la linea.
Colore nero = Colore. FromArgb (255, 0, 0, 0);
Penna neraPenna = nuova Penna (nera); - Il metodo DrawLine() della classe Graphics disegnerà una linea usando la penna. Questo inizierà a disegnare una linea da una posizione x, y a un'altra posizione x, y.
e. Grafica. DrawLine (penna nera, 300, 200, 800, 200);
- È possibile modificare le proprietà dell'oggetto penna per modificarne la larghezza, lo stile del trattino e il cappuccio iniziale o finale.
penna nera. Larghezza = 20;
penna nera. DashStyle = Sistema. Disegno. Disegno2D.DashStyle. Trattino;
penna nera. StartCap = Sistema. Disegno. Disegno2D.LineCap. Freccia Ancora;
e. Grafica. DrawLine (penna nera, 300, 200, 800, 200); - Premi il pulsante di riproduzione verde nella parte superiore di Visual Studio per visualizzare le modifiche.
Come disegnare forme come rettangoli e cerchi
Puoi utilizzare le classi di forme per forme diverse o disegnare forme manualmente sulla tela.
- Crea un oggetto Colore e Penna come mostrato nei passaggi precedenti. Quindi, usa il metodo DrawRectangle() per creare il rettangolo. Gli argomenti sono le coordinate xey per la parte superiore sinistra del rettangolo, insieme alla sua larghezza e altezza.
Colore rosso = Colore. FromArgb (255, 255, 0, 0);
Penna rossaPenna = nuova Penna (rossa);
penna rossa. Larghezza = 5;
e. Grafica. DrawRectangle (redPen, 100, 100, 500, 200); - Puoi anche creare un rettangolo usando la classe Rectangle. Innanzitutto, crea un oggetto Rectangle. Gli argomenti sono anche le coordinate xey per l'angolo in alto a sinistra, la larghezza e l'altezza.
Rettangolo rettangolo = nuovo Rettangolo (100, 350, 500, 200);
- Utilizzare la funzione DrawRectangle() per disegnare il rettangolo. Invece di passare x, y, larghezza e altezza come prima, puoi invece utilizzare l'oggetto Rectangle.
e. Grafica. DrawRectangle (redPen, rettangolo);
- Premi il pulsante di riproduzione verde nella parte superiore di Visual Studio per visualizzare le modifiche.
- Torna al codice per disegnare altre forme. Utilizzare la funzione DrawEllipse() per disegnare un cerchio.
Quando disegna un cerchio, le coordinate xey (x=400, y=150) si riferiscono all'angolo in alto a sinistra del cerchio, non al centro del cerchio.Colore verde = Colore. FromArgb (255, 0, 255, 0);
Penna verdePenna = nuova Penna (verde);
penna verde. Larghezza = 5;
e. Grafica. DrawEllipse (penna verde, 400, 150, 400, 400); - Per disegnare altre forme come triangoli o esagoni, usa il metodo DrawPolygon(). Qui puoi specificare un elenco di coordinate per rappresentare i punti della forma.
Il metodo DrawPolygon() disegnerà linee tra i punti specificati. Colore blu = Colore. FromArgb (255, 0, 0, 255);
Penna bluPenna = nuova Penna (blu);
penna blu. Larghezza = 5;
PuntoF[] coordinateForTriangle = nuovo PuntoF[] {
nuovo PuntoF(400, 150),
nuovo PuntoF(300, 300),
nuovo PuntoF(500, 300)
};
e. Grafica. DrawPolygon (BluePen, coordinatesForTriangle);
Come utilizzare la classe Brush per riempire le forme con il colore
È possibile utilizzare i metodi FillRectangle(), FillEllipses() o FillTriangle() per creare forme con un colore solido.
- Innanzitutto, crea un oggetto pennello.
Colore viola = Colore. FromArgb (255, 128, 0, 0);
SolidBrush solidBrush = nuovo SolidBrush (viola); - Utilizzare i metodi FillRectangle(), FillEllipses() o FillTriangle(). Funzionano allo stesso modo delle funzioni di disegno sopra, tranne che al posto di una penna, usano un oggetto Pennello.
e. Grafica. FillRectangle (solidBrush, 50, 50, 200, 250);
e. Grafica. FillEllipse (solidBrush, 300, 50, 200, 200);
e. Grafica. FillPolygon (solidBrush, new PointF[] { new PointF(700, 150), new PointF(600, 300), new PointF(800, 300) }); - Puoi anche inserire un oggetto forma direttamente invece di fornire le coordinate.
Rettangolo rettangolo = nuovo Rettangolo (100, 350, 500, 200);
e. Grafica. FillRectangle (solidBrush, rettangolo); - Usa HatchBrush per riempire la forma utilizzando uno stile di riempimento diverso, ad esempio un motivo orizzontale o verticale.
Colore blu = Colore. FromArgb (255, 0, 0, 255);
Colore verde = Colore. FromArgb (255, 0, 255, 0);
HatchBrush hatchBrush = nuovo HatchBrush (HatchStyle. Orizzontale, verde, blu);
e. Grafica. FillRectangle (hatchBrush, 50, 50, 200, 250); - Puoi usare TextureBrush per riempire una forma usando un'immagine. Qui, crea una bitmap puntando a un file di immagine. Invece di creare un pennello usando un colore, crealo usando l'immagine.
Immagine bitmap = Immagine (bitmap). FromFile(@"C:\Utenti\Sharl\Desktop\flag.bmp", true);
TextureBrush textureBrush = nuovo TextureBrush (immagine);
e. Grafica. FillRectangle (textureBrush, 100, 100, 500, 400);
Come rendere le immagini sul modulo
Per eseguire il rendering di un'immagine, creare un oggetto di controllo PictureBox e aggiungerlo al modulo.
- Crea un oggetto di controllo PictureBox utilizzando un file immagine.
PictureBox immagine = nuovo PictureBox();
foto. ImageLocation = @"C:\Utenti\Sharl\Desktop\flagLarge.bmp"; - Imposta la dimensione dell'immagine e aggiungila al modulo in modo che venga visualizzata.
foto. SizeMode = PictureBoxSizeMode. Dimensione dell'auto;
questo. Controlli. Aggiungi (immagine); - Premi il pulsante di avvio verde in alto per visualizzare l'immagine.
Aggiunta di più forme al tuo Windows Form
Ora dovresti capire come aggiungere linee, forme e immagini al tuo modulo di Windows. Puoi combinare forme per creare nuove forme. Puoi anche giocare con le funzioni integrate per creare forme più complesse.
Vale la pena imparare ASP.NET nel 2021?
Leggi Avanti
Argomenti correlati
- Programmazione
- Programmazione
Circa l'autore

Sharlene è una Tech Writer presso MUO e lavora anche a tempo pieno nello sviluppo di software. Ha una laurea in informatica e ha precedenti esperienze in Quality Assurance e tutoraggio universitario. Sharlene ama giocare e suonare il piano.
Iscriviti alla nostra Newsletter
Iscriviti alla nostra newsletter per suggerimenti tecnici, recensioni, ebook gratuiti e offerte esclusive!
Clicca qui per iscriverti