Questo topic e' stato chiuso dal moderatore.
30/10/11 17:10
maikarki
Buongiorno a tutti!
Visto che in precedenza siete stati così gentili ad aiutarmi ci riprovo ancora un volta.
Il problema è (credo) semplice ma, essendo un principiante, ritengo che mi stia sfuggendo qualcosa.
Io dovrei in VB.NET popolare due vettori separati all'interno di una subroutine, chamiamoli: punti_x() e punti_y()
Una volta creati e popolati si vorrebbe che fossero uniti in un insieme di punti rappresentando un poligono all'interno di un pannello.
Orbene: quanto descritto funziona se tutto il codice viene inserito all'interno di Private Sub Panel1_Paint ma quando cerco di spostare il punto di creazione del vettore una bella X rossa mi comunica che non viene effettuata correttamente la riproduzione del poligono. Il codice che si vorrebbe fare funzionare è il seguente:
Dove sto sbagliando?
Grazie mille
Visto che in precedenza siete stati così gentili ad aiutarmi ci riprovo ancora un volta.
Il problema è (credo) semplice ma, essendo un principiante, ritengo che mi stia sfuggendo qualcosa.
Io dovrei in VB.NET popolare due vettori separati all'interno di una subroutine, chamiamoli: punti_x() e punti_y()
Una volta creati e popolati si vorrebbe che fossero uniti in un insieme di punti rappresentando un poligono all'interno di un pannello.
Orbene: quanto descritto funziona se tutto il codice viene inserito all'interno di Private Sub Panel1_Paint ma quando cerco di spostare il punto di creazione del vettore una bella X rossa mi comunica che non viene effettuata correttamente la riproduzione del poligono. Il codice che si vorrebbe fare funzionare è il seguente:
Public Class Form1 Public punti_x() As Double Public punti_y() As Double Public n As Integer Private Sub Panel1_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Panel1.Paint 'Fusione dei due vettori dei punti X e Y in un unico insieme di punti da renderizzare N = UBound(punti_x) Dim cp(N - 1) As Point For pt = 0 To N - 1 cp(pt).X = punti_x(pt) cp(pt).Y = punti_y(pt) Next Dim penna As New Pen(Color.Maroon, 2) Dim pennello As New SolidBrush(Color.Lime) e.Graphics.DrawPolygon(penna, cp) e.Graphics.FillPolygon(pennello, cp) End Sub Public Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 'INIZIA LA COMPOSIZIONE DEI 2 VETTORI CHE RICEVONO SEPARATAMENTE I VALORI DI X E Y n = 4 ReDim Preserve punti_x(n) ReDim Preserve punti_y(n) 'punto 1 punti_x(0) = 0 punti_y(0) = 0 'punto 2 punti_x(1) = 0 punti_y(1) = 50 'punto 3 punti_x(2) = 50 punti_y(2) = 50 'punto 4 punti_x(3) = 50 punti_y(3) = 0 'FINE DELLA COMPOSIZIONE DEI VETTORI '-------------------------------------------- End Sub End Class
Dove sto sbagliando?
Grazie mille
aaa