Ich erzeuge per Code eine kleine Menge Textboxen (8 Stück) und füge diese einer ListOf(Controls) hinzu, um später damit arbeiten zu können.
In diese Textboxen trage ich Einnahmen für Warengruppen ein, hiermit möchte ich den Gesamtumsatz errechnen (Summe aller Warengruppen - also Summe aller codegenerierten Textboxen).
Dafür möchte ich nun das TextChanged Event meiner Textboxen abbonieren.
Der Erzeugungscode sieht folgendermaßen aus:
Der Code zum hinzufügen eines Event Handlers müsste ja irgendwie so aussehen:
Jedoch meckert mein VS hier natürlich, dass " TextboxName_TextChanged" nicht deklariert wurde.
Wie muss der Code aussehen, um das TextChanged Event zu abbonieren?
Und der Code Im _TextChanged Event würde für jede Textbox gleich aussehen. Nämlich:
Gibt es hier die Möglichkeit nur ein Event für alle Textboxen zu erzeugen, welches eben immer greift, wenn eine der Textboxen geändert wird?
In diese Textboxen trage ich Einnahmen für Warengruppen ein, hiermit möchte ich den Gesamtumsatz errechnen (Summe aller Warengruppen - also Summe aller codegenerierten Textboxen).
Dafür möchte ich nun das TextChanged Event meiner Textboxen abbonieren.
Der Erzeugungscode sieht folgendermaßen aus:
VB.NET-Quellcode
- 'TextBox
- Dim newTB = New System.Windows.Forms.TextBox
- With newTB
- .Location = New System.Drawing.Point(xPosition, yPosition + 23)
- .Font = New Font("Microsoft Sans Serif", 12)
- .Name = "TB " & GroupName
- .Size = New System.Drawing.Size(200, 26)
- .TabIndex = 0
- .Visible = True
- End With
- TBList.Add(newTB)
- 'Controls auf die Form malen
- 'Me.Controls.Add(NewLBL)
- Me.Controls.Add(newTB)
Der Code zum hinzufügen eines Event Handlers müsste ja irgendwie so aussehen:
AddHandler .TextChanged, AddressOf TextboxName_TextChanged
Jedoch meckert mein VS hier natürlich, dass " TextboxName_TextChanged" nicht deklariert wurde.
Wie muss der Code aussehen, um das TextChanged Event zu abbonieren?
Und der Code Im _TextChanged Event würde für jede Textbox gleich aussehen. Nämlich:
VB.NET-Quellcode
- Private Sub TextChangeEvent()
- Dim TotalIncome As Double = 0
- Dim Income As Double
- For Each TB As Control In TBList 'Schleife durch alle codeerzeugten Textboxen
- If Double.TryParse(TB.Text, Income) Then
- TotalIncome += Income
- tbDailyIncome.Text = TotalIncome.ToString
- Else
- tbDailyIncome.Text = ""
- Exit Sub
- End If
- Next
- End Sub
Gibt es hier die Möglichkeit nur ein Event für alle Textboxen zu erzeugen, welches eben immer greift, wenn eine der Textboxen geändert wird?