Piano cartesiano

domenica 21 gennaio 2007 - 13.17

clan Profilo | Junior Member

come posso fare per inserire un piano cartesiano nella form vb.net
e fargli disegnare punti e assi al variare di dati contenuti in texbox?
grazie per gli eventuali suggerimenti

Giamp72 Profilo | Junior Member

il metodo più semplice è quello di usare in picturebox nel quale puoi disegnare linee, cerchi, rettangoli ecc. ecc. usando i metodi della system.drawing
Giamp72

clan Profilo | Junior Member

scusami ma qual'è la proprietà della picturebox che mi permette di far disegnre un grafico su piano cartesiano?

Giamp72 Profilo | Junior Member

..forse non mi sono spiegato... il grafico lo dovresti disegnare "manualmente" creando le barre o le linee del grafico via codice..
che io sappia l'unico altro modo per gestire dei grafici è quella di usare il chart control di microsoft..
Non so che tipo di grafici devi fare, però se non è una cosa complicata, personalmente ti consiglio di disegnartelo via codice, poichè il chartcontrol ha comunque una serie di limiti...

Giamp72

clan Profilo | Junior Member

scusami creare via codice vuol dire graphic.drawline ?
e come posso dire via codice scrivi "queste linee" nel mio picturebox1?
via codice posso mettere valori sugli assi Y e X?
Grazie

Giamp72 Profilo | Junior Member

prova questo codice:

Dim myPen As New System.Drawing.Pen(System.Drawing.Color.Red)
Dim formGraphics As System.Drawing.Graphics
Dim fn As New System.Drawing.Font("ARIAL", 8, FontStyle.Regular, GraphicsUnit.Pixel)

formGraphics = pic.CreateGraphics()
formGraphics.DrawLine(myPen, 0, 0, 200, 200)
formGraphics.DrawString("TESTO", fn, Brushes.Aqua, 100, 100)
myPen.Dispose()
formGraphics.Dispose()

questo è un esempio di come disegnare su un picturebox o anche su un form..
con i metodi della classe drawing puoi disegnare rettangoli, cerchi, ecc. ecc..




Giamp72

clan Profilo | Junior Member

adesso mi è molto più chiaro mi ero perso nelle dichiarazioni.
Un'ultima domanda esiste un modo per passare al comado drawline un coordinata in formato decimale tenendo presente che dovrei prendere il valore da una textbox?
Grazie

Giamp72 Profilo | Junior Member

non ho capito quale è il problema.. puoi spiegare meglio o fare un esempio?
Giamp72

clan Profilo | Junior Member

se scrivo
pic.drawline(penna,0,0,10,10)
va bene
se scrivo
pic.drawline(penna,0,0,10.5,10.5)
mi da errore
nei vari libri ho trovato la possibilità di inserire un decimale in questo modo 10.5F
ma non riesco a trovare una soluzione per prendere un numero da una textbox aggiungere la F e farlo funzionare.
Mi chiedo se esiste un altro modo?
Spero di essere stato chiaro


Giamp72 Profilo | Junior Member

prova così:

Dim myPen As New System.Drawing.Pen(System.Drawing.Color.Red)
Dim formGraphics As System.Drawing.Graphics
Dim fn As New System.Drawing.Font("ARIAL", 8, FontStyle.Regular, GraphicsUnit.Pixel)
Dim cc As String = "200.5"
Dim num As Single
num = CSng(cc)

formGraphics = Me.CreateGraphics()
formGraphics.DrawLine(myPen, 0, 0, num, 200)
formGraphics.DrawString("TESTO", fn, Brushes.Aqua, 100, 100)
myPen.Dispose()
formGraphics.Dispose()
Giamp72

clan Profilo | Junior Member

grazie funziona tutto
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5