Werte von Textboxen addieren

Hallo,

wenn's mit dem Debuggen voviel Schwierigkeiten gibt, dann hänge doch den Code (da es ja nicht soviel ist) mal schrittweise ein.
Vielleicht in folgender Reihenfolge:
- die Zuweisung für "_AdditionTextboxes"
- den TextChanged-Eventhandler ohne die Berechnungsfunktion
- die ForEach-Schleife ohne Inhalt
- die Berechnungszeilen

Gruß
MCoder
 
Hi,
sehr nett von Dir mir so zu helfen! Hoffe das ist dat was Du meinst.

textChanged + Schleife
Code:
 Private _AdditionTextboxes As TextBox()

    Public Sub New()

        ' Dieser Aufruf ist für den Windows Form-Designer erforderlich.
        InitializeComponent()

        ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
        _AdditionTextboxes = New TextBox() {TextBox19, TextBox21, TextBox22, TextBox23}

    End Sub

Code:
Private Sub TextBox19_TextChanged(ByVal sender As Object, ByVal e As EventArgs) Handles _
         TextBox21.TextChanged, TextBox22.TextChanged, _
         TextBox23.TextChanged
        Dim Result As Double = 0
        For Each TB As TextBox In _AdditionTextboxes
            Dim TBResult As Double = 0
            If Double.TryParse(TB.Text, TBResult) Then
                Result += TBResult
            End If
        Next
        Me.TextBox45.Text = Result.ToString
    End Sub
End Class

Berechnungsbeispiel
Die Berechungen sind alle so aufgbaut... User gibt wat ein und wird in einer TB wieder ausgegeben.
Code:
    Private Sub CheckBox7_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox7.CheckedChanged

        If CheckBox7.Checked Then
            TextBox36.Text = CStr(CDbl(28.5))
            TextBox53.Text = "SET"
        Else
            If CheckBox7.Checked = False Then
                TextBox36.Text = CStr(CDbl(0))
                TextBox53.Text = "Kein Set"
            End If
        End If
    End Sub

Drehe echt durch...:mad::mad:
VG Marcus
 
Hast du herausgefunden nach welcher eingefügten Codezeile der Fehler passiert? Ich meinte, dass du ausgehend vom funktionierenden Formular (mit Dantenbankanbindung) den Berechungscode in ganz kleinen Häppchen einfügst und jedesmal testet. Ist zwar etwas mühselig, aber dann solltest du irgendwann die "faule" Codestelle ernmitteln können.

Gruß
MCoder
 
Moin,
habe jetzt probiert Bei :
Code:
Dim TBResult As Double = 0

haut es ihm die Schuhe weg :eek: !! Kannst Du mir bitte sagen warum?:mad:

VG
Marcus
 
An der von dir geposteten Codezeile kann es eigentlich nicht liegen, habe das mal ausprobiert (zur Sicherheit) und hat keine Probleme gemacht.

Eventuell mal so probieren:


Visual Basic:
Dim TBResult As Double = 0.0F

und verrate uns doch bitte, mit welcher Meldung er sich bei dir Verabschiedet.
 

Neue Beiträge

Zurück