PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : VB.NET Eigene Sub erstellen


Gast
2009-10-25, 21:27:41
Hallo,

will nach jedem Klick von meinen Buttons das Ergebnis angezeigt bekommen, deswegen wollte ich nach jedem eine gewisse Rechnung durchführen lassen.

Diese Rechnung wollte ich nun in eine Sub schreiben, weiß aber nicht was sich am Ende noch hingehört:



Sub rechnen(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rechnen????


Wo kann ich nachlesen, was es anstatt der ???? alles noch für Funktionen gibt? Finde die MSDN recht verwirrend - zumindest für nen Anfänger :)

FlashBFE
2009-10-25, 22:24:51
Hallo,
wenn du es leicht haben willst, kannst du einfach im Formular-Designer einen Doppelklick auf den Button machen. Dann wird dir automatisch im Codebereich eine vollständige Ereignisprozedur erstellt.

Eine Ereignisprozedur sieht so aus:
Sub rechnen(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Knopfname.Click
Dim Ergebnis As Integer
Ergebnis = 1 + 1
Msgbox(Ergebnis)
End Sub


Die Parameter Sender und e brauchst du bei den meisten Ereignisbehandlungen übrigens garnicht auswerten, die sind nur in machen Fällen interessant.

Der_Donnervogel
2009-10-26, 03:53:06
will nach jedem Klick von meinen Buttons das Ergebnis angezeigt bekommen, deswegen wollte ich nach jedem eine gewisse Rechnung durchführen lassen.
Falls damit gemeint ist, dass es egal ist welcher Button angeklickt wird, immer die selbe Berechnung ausgeführt werden soll, dann ginge das so:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
berechne()
End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
berechne()
End Sub

Private Sub berechne()
Dim Ergebnis As Integer
Ergebnis = 1 + 1
MsgBox(Ergebnis)
End Sub

Monger
2009-10-26, 11:28:59
Falls damit gemeint ist, dass es egal ist welcher Button angeklickt wird, immer die selbe Berechnung ausgeführt werden soll, dann ginge das so:
...

Oder noch einfacher:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click, Button2.Click
Dim Ergebnis As Integer
Ergebnis = 1 + 1
MsgBox(Ergebnis)

End Sub


Ein Event Handler ist ja nicht auf ein einzelnes Event beschränkt.

@topic: Events hängen grundsätzlich an der Klasse die sie auslösen. Sprich: wenn du einen Button Click verarbeiten willst, solltest du dir die Button Klasse genauer anschauen.
Aber auch die Intellisense hilft hier weiter: nach "Handles" einfach den Objektnamen angeben (z.B. Button1), Punkt eingeben, und dann kriegst du schon alle Events (Blitz Symbol) angezeigt, die du fangen kannst. Schwieriger ist da schon die Frage: wie heißen eigentlich die ganzen Objektinstanzen die gerade an deinem Fenster dranhängen? Auch hier hilft die Intellisense: "Me" eingeben, ein Punkt, und du kriegst alle Methoden und Attribute nur der aktuellen Klasse aufgelistet. Da finden sich dann auch die ganzen Buttons etc. wieder.

Oder eben über den Graphics Designer ein Element selektieren, und dann im Eigenschaftenfenster sich ein passendes Event aussuchen. Per Doppelklick in das jeweilige Event generiert er dann auch automatisch dafür einen passenden Handler.