Variable Elemente verändern

  • Allgemein

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von christianruby.

    Elemente variabel verändern

    Hallo Leute,

    ich bin mir sicher dass wir schon das hier hatten, in VBA Thread, aber ich finde das nicht mehr :(

    also ich will ein Steuerelement so aufrufen:

    VB.NET-Quellcode

    1. TextBox[x].Text = blabla


    ich glaube das war i-wie so:

    VB.NET-Quellcode

    1. Me.Controls("TextBox" & int_var).Text


    weiß aber nicht mehr genau. Kann einer mir bitte mein verlorenes Teil des Gehirns wiederfinden helfen?

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Nikolai“ ()

    also bei mir gehts so:
    dim int_var as integer = 1

    Me.Controls("TextBox" & int_var).Text = "hallo" + int_var.toString

    'ergebnis textbox1 hat text hallo1

    musst halt nur dran denken int_var mit wert 1 zu initialisieren

    denn sonst is int_var 0 und textbox0 knallt

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „christianruby“ ()

    am besten geht es wenn du arrays nimmst.

    z.b.:

    Public Class Form1
    Dim int_var As Integer = 1
    Dim textarry(10) As String

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

    textarry(int_var) = "hallo" + int_var.ToString

    Me.Controls("textbox" & int_var).Text = textarry(int_var)

    int_var = int_var + 1

    textarry(int_var) = "hallo" + int_var.ToString

    Me.Controls("textbox" & int_var).Text = textarry(int_var)

    End Sub
    End Class


    hilft dir das?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „christianruby“ ()

    VB.NET-Quellcode

    1. Private Function sparen0(ByVal var As Boolean, ByVal i As Integer)
    2. If var Then
    3. sparen(Me.Controls("t" & i), Me.Controls("dat" & i), True)
    4. Else
    5. sparen(Me.Controls("t" & i), Me.Controls("dat" & i), False)
    6. End If
    7. Return True
    8. End Function
    9. Private Function sparen(ByVal lbl As Label, ByVal txt As TextBox, ByVal t As Boolean)
    10. If t Then
    11. lbl.Visible = True
    12. txt.Visible = True
    13. Else
    14. lbl.Visible = False
    15. txt.Visible = False
    16. End If
    17. Return True
    18. End Function


    zahl 1 in 1. Funktion wird übergeben
    var ist entweder true oder false

    was ist da falsche?


    da kommt bei

    VB.NET-Quellcode

    1. lbl.Visible = True



    Quellcode

    1. Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
    also erstmal würde ich dir empfehlen aus:

    VB.NET-Quellcode

    1. If var Then
    2. sparen(Me.Controls("t" & i), Me.Controls("dat" & i), True)
    3. Else
    4. sparen(Me.Controls("t" & i), Me.Controls("dat" & i), False)
    5. End If

    einfach folgendes machen:

    VB.NET-Quellcode

    1. sparen(Me.Controls("t" & i), Me.Controls("dat" & i), var)


    und aus:

    VB.NET-Quellcode

    1. If t Then
    2. lbl.Visible = True
    3. txt.Visible = True
    4. Else
    5. lbl.Visible = False
    6. txt.Visible = False
    7. End If


    einfach folgendes zu machen:

    VB.NET-Quellcode

    1. lbl.Visible = t
    2. txt.Visible = t


    sieht nen bissel schmaler aus und funzt genau so :)



    so und nun zum problem:

    ich würde es mal so probieren:

    VB.NET-Quellcode

    1. Private Function sparen0(ByVal var As Boolean, ByVal i As Integer)
    2. sparen("t" & i.tostring, "dat" & i.tostring, var)
    3. Return True
    4. End Function
    5. Private Function sparen(labelname as string,txtname As string, ByVal t As Boolean)
    6. Me.Controls(lblname).Visible = t
    7. Me.Controls(txtname).Visible = t
    8. Return True
    9. End Function


    sag mal obs funktioniert.

    aber das label t1 und die textbox dat1 gibt es?

    müsste aber!

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „christianruby“ ()

    so, nun hab ichs mal ausprobiert.

    hab folgendes gemacht:

    VB.NET-Quellcode

    1. Dim lbl As Label
    2. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    3. Dim i As Integer = 1
    4. lbl = Me.Controls("label" & i.ToString)
    5. lbl.Visible = True
    6. End Sub


    und auch das geht:

    VB.NET-Quellcode

    1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    2. Dim i As Integer = 1
    3. showlabel(Me.Controls("label" & i.ToString))
    4. End Sub
    5. Public Function showlabel(ByVal lbl As Label)
    6. lbl.Visible = True
    7. End Function


    und es funktioniert.

    mmhhh

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „christianruby“ ()