Mit vb.net positionierung eines punktes festlegen

hallo experten,

ich suche eine code mit vb.net dafür:

2 eingabe fenster, ein für x koordinate und ein für y koordinate.
ich gebe z.B 200px in x fenster und 300px in y fenster,button „enter“ drücken und fertig ist es.mein punkt wird indem ensprechend da gezeichnet,was ich eingegeben habe.
wie sieht es aus?
kann jmnd mir helfen?
danke euch im voraus
kris

Hallo Kris,

willst Du tatsächlich die beiden Koordinaten in unterschiedlichen Fenstern eingeben, oder sollen es 2 Eingabefelder in ein und demselben Fenster sein?
Wo soll der Punkt dann gezeichnet werden: In diesem Fenster oder irgendwo auf dem Desktop?
Hast Du ein Visual Studio installiert? Dann sollte die Montage der Eingabefelder und des Buttons eigentlich nicht schwierig sein …

Mit ein paar Angaben mehr ist es einfacher, Dir zu helfen.

Gruß
Thomas

hallo thomas.
ich habe visuall studio 2008 installiert,2 eingabefelder und enter-button habe ich auch.es geht nur um code.
der punkt muss auf meine grafik(kurve mit x und y koordinaten) gezeichnet werden.
ich benutze blend expression 2.0 für silverlight prokekt und dahinter muss ich mit vb.net die dynamische gestaltung programmieren.
hast du eine idee?
danke
kris

Hi Kris,

ich bin im Moment zu Hause und habe hier kein VS installiert, also nun aus dem Gedächtnis heraus:

Im Designer Doppelklick auf den Button - damit wird ein EventHandler für das Button.Click-Ereignis erzeugt.
Darin fragst Du die Werte der beiden TextBoxes aus:

Dim x As Integer
Dim y As Integer
x = CInt(TextBox1.Text)
y = CInt(TextBox2.Text)

Dann lässt Du Dir ein Graphics-Objekt Deiner Form geben:

Dim g As Graphics
g = Form1.CreateGraphics

Und jetzt muss ich wirklich raten bzw. Du musst schauen, ob das funktioniert. Dann zeichnest Du eine Linie, die denselben Anfangs- und Endpunkt hat (ich habe keine Methode gefunden, die nur einen Punkt malt).

g.DrawLine(New Pen(Brushes.Black), x, y, x, y)

Kann jetzt nicht mit Sicherheit sagen, dass es so klappt.

Gruß
Thomas

Hallo!

Dann lässt Du Dir ein Graphics-Objekt Deiner Form geben:

Dim g As Graphics
g = Form1.CreateGraphics

Neinneinnein!

Bitte nicht unbedarften Anfängern sowas raten - das ist Murks, mit dem man sich schneller Resourcenlecks bastelt als man schauen kann.
Zumal ist alles, was Du auf diesem Weg malst, sofort weg, wenn das Fenster aktualisiert wird.

Der einzig richtige Weg hier ist, sich ein Steuerelement zu erstellen, welches die Kurve oder die Punkte oder was auch immer darstellt, wenn es sich zeichnet.
Man kann z.B. prima ein Panel als Grundlage hernehmen und das Paint-Ereignis überschreiben, damit dort dann der Hintergrund gelöscht und alle Punkte/Linien/sonstwas gezeichnet wird.
Das erfolgt _immer_ dann, wenn das Steuerelement gezeichnet wird, nicht nur einmal, wenn Du das Zeichnen auf einen Knopfdruck hin aufrufst.

Im Eventhandler des Click -Ereignisses des Buttons sagt man dann dem Steuerelement, dass ein neuer Punkt dazugekommen ist und ruft anschließend dessen Invalidate() Methode auf, damit sich das Control selbst neu zeichnet.

Gruß,
Martin

Hallo Martin,

okay, wieder was gelernt.
Ich hab’ halt mit Grafikprogrammierung sonst nix zu tun …

Gruß
Thomas