Dynamische Objekte

  • VB6

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von Lost-Ha[n]f-PHP.

    Dynamische Objekte

    Hallo Leute,

    habe eine Frage:
    Ich habe in eine Tabelle i Datensätze eingetragen.
    Ich lese die Datensätye aus und möchte für jeden Datensatz eine CheckBox und eine TextBox haben.
    Wie ich Objekte hinzufüge ist klar, aber ich will dann sowas in der Art sagen:

    <pre>

    WithEvents chkSKurs As CheckBox
    WithEvents txtSDatum As TextBox

    Private Sub AddSonstigeKurse()
    cString = "SELECT * FROM Sonstige WHERE iKursTyp = 1 ORDER BY sKurs"
    Command = New OdbcCommand(cString, DBCon)
    Try
    Reader = Command.ExecuteReader
    Do While Reader.Read
    Dim i As Integer
    i += 1
    chkSKurs = New CheckBox)
    txtSDatum = New TextBox
    With chkSKurs
    .Name = "chksKurs" & i
    .Top = 10 + ((i - 1) * 21)
    .Left = 10
    .Width = 109
    .Height = 20
    .TextAlign = ContentAlignment.MiddleLeft
    .Text = Reader.Item("sKurs")
    End With
    With txtSDatum
    .Top = 10 + ((i - 1) * 21)
    .Left = 126
    .Width = 93
    .Height = 20
    End With
    tpSonstige.Controls.Add(chkSKurs)
    tpSonstige.Controls.Add(txtSDatum)
    Loop
    Catch ex As Exception
    MessageBox.Show(ex.Message & vbCrLf & ex.StackTrace)
    Finally
    Reader.Close()
    End Try
    End Sub
    </pre>

    Und das geht nicht --> Soll heißen:
    Die Objekte sind schon da, ABER ich kann die nicht ansprechen. Nur das letzte. Ich möchte jetzt dynamisch eine chkbox und eine txtbox haben, die den Namen chkSKursi und txtSDatumi tragen.
    Wobei hier das i die Zahl des Datensatzes sein soll.
    also von 1 - i.
    Diese Objekte müssen alle ihre Events haben, die ich schon VOR der Laufzeit eingeben will. Also ich weisz vorher schon, dass wenn ich auf chkSKursi klicke, txtSDatumi.enabled = true oder False gesetzt werden soll.

    Kann mir da jemand helfen???

    Muss ich jedes Objekt vorher mit WithEvents deklarieren??? dann wird der Code aber superlang...

    Vielleicht könnt ihr helfen...

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Lost-Ha[n]f-PHP“ ()

    Das Zauberwort heißt 'Steuerelementefelder'.

    Damit kannst Du Steuerlemente von 0 - i erstellen und sie auch mit diesem Index ansprechen, sprich

    <pre>If CheckBox(i).Enabled = True Then txtKurs(i).Text = +225%</pre>

    Um für ein wenig Mut an der Börse zu sorgen... ;)