Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - [VB2008 Express Edition] Disegnare e spostare forme
Forum - C# / VB.NET - [VB2008 Express Edition] Disegnare e spostare forme

Avatar
manuela81 (Normal User)
Newbie


Messaggi: 1
Iscritto: 13/07/2009

Segnala al moderatore
Postato alle 11:28
Lunedì, 13/07/2009
Ciao a tutti, sono nuova di questo forum e sto anche affrontando per la prima volta la programmazione con VB2008.

Il mio problema è il seguente: vorrei disegnare in fase di esecuzione delle forme (rettangoli rette ellissi) e successivamente, se necessario, spostarli (come se fosse una specie di CAD).

Vorrei sapere se è possibile ottenere questo e una piccola indicazione su come procedere per ottenerlo.

Grazie a tutti, ciao

PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 11:51
Lunedì, 13/07/2009
Per disegnare serve la classe Graphics. Non è possibile creare un oggetto Graphics mediante un costruttore, ma solo ottenerlo indirettamente. Ammettiamo che in questo caso tu crei un'immagine temporanea dove disegnare tutte le forme: puoi usare il metodo Graphics.FromImage per ottenere l'oggetto Graphics associato a quell'immagine:
Codice sorgente - presumibilmente VB.NET

  1. Dim B As New Bitamp(400, 400)
  2. Dim G As Graphics = Graphics.FromImage(B)


Ora ogni operazione eseguita da G disegnerà effettivamente qualcosa sull'immagine B. I metodi che puoi usare sono DrawRectangle, DrawEllipse, DrawLine, FillRectangle e FillEllipse. Dopo aver disegnato tutto, basta assegnare B alla proprietà BackgroundImage di qualche controllo o del form stesso.

Per poter manipolare e spostare ogni singola forma, devi creare un oggetto per ogni forma, contenente almeno i dati riguardanti la sua posizione e la sua estensione. Nell'evento MouseDown, esegui un ciclo che controlla ogni oggetto e rileva se il mouse è posizionato al suo interno.


"Infelici sono quelli che hanno tanto cervello da vedere la loro stupidità."
(Fligende Blatter)

"Dubitare di se stessi è il primo segno d'intelligenza."
(Ugo Ojetti)
PM Quote