Hello
Ik heb volgende code:
Code:
'Instellingen:
'Het aantal rekenvragen in 1 test?
Public intAantalRekenVragenInTest As Integer = 3
'btnControle
Public btnControle As New Windows.Forms.Button
'btnNieuw
Public btnNieuw As New Windows.Forms.Button
Public Sub frmRekentest_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Declareren van variablen
Dim objGetal As New Random
Dim objBewerking As New Random
Dim strBewerking() As String = {"+", "-", "*"}
'Teller starten per vraag moeten er 2 getallen gegenereerd worden
For i As Integer = 1 To intAantalRekenVragenInTest * 2
Dim txtResultaat As New Windows.Forms.TextBox
Dim lblGelijkaanTeken As New Windows.Forms.Label
Dim lblBewerking As New Windows.Forms.Label
Dim lblGetal As New Windows.Forms.Label
'declareren van labels en knoppen en aanpassen
'lblgetal
'Dim lblGetal As New Windows.Forms.Label
lblGetal.Height = 20
lblGetal.Width = 20
lblGetal.TextAlign = ContentAlignment.MiddleCenter
'lblBewerking
'Dim lblBewerking As New Windows.Forms.Label
lblBewerking.Height = 20
lblBewerking.Width = 20
lblBewerking.TextAlign = ContentAlignment.MiddleCenter
'lblGelijkaanTeken
'Dim lblGelijkaanTeken As New Windows.Forms.Label
lblGelijkaanTeken.Height = 20
lblGelijkaanTeken.Width = 20
lblGelijkaanTeken.TextAlign = ContentAlignment.MiddleCenter
'Dim txtResultaat As New Windows.Forms.TextBox
txtResultaat.Multiline = True
txtResultaat.Height = 20
txtResultaat.Width = 50
'Als er rest is dan onevengetal dus links
If i Mod 2 = 1 Then
lblGetal.Location = New Drawing.Point(8, 8 + i * 12)
'Als er geen rest is dan evengetal dus rechts
ElseIf i Mod 2 = 0 Then
'de bewerking in het midden plaatsen
lblBewerking.Location = New Drawing.Point(28, 8 + i * 12 - 12)
'de bewerking word willekeurig gekozen: +,-,*
lblBewerking.Text = strBewerking(objBewerking.Next(0, 3))
'een naam geven aan het label van de bewerking
lblBewerking.Name = "lblBewerking" & (i / 2).ToString
'het 2de getal rechts plaatsen
lblGetal.Location = New Drawing.Point(48, 8 + i * 12 - 12)
'het gelijksaanteken plaatsen
lblGelijkaanTeken.Location = New Drawing.Point(68, 8 + i * 12 - 12)
lblGelijkaanTeken.Text = "="
lblGelijkaanTeken.Name = "lblGelijkaanTeken" & (i / 2).ToString
'het tekstvak plaatsen
txtResultaat.Location = New Drawing.Point(88, 8 + i * 12 - 12)
txtResultaat.Name = "txtResultaat" & (i / 2).ToString
End If
'de getallen willekeurig laten genereren
lblGetal.Text = objGetal.Next(0, 10)
'naam geven aan het label van het getal
lblGetal.Name = "lblGetallinks" & (i).ToString
'een knop controle plaatsen
btnControle.Location = New Drawing.Point(8, intAantalRekenVragenInTest * 24 + 28)
btnControle.TabIndex = 1
'een waarde en een naam aan de knop geven
btnControle.Text = "Controleer"
btnControle.Name = "btnControle"
'een knop nieuw plaatsen
btnNieuw.Location = New Drawing.Point(88, intAantalRekenVragenInTest * 24 + 28)
btnNieuw.TabIndex = 2
'een waarde en een naam aan de knop geven
btnNieuw.Width = "115"
btnNieuw.Text = "Nieuwe getallen"
btnNieuw.Name = "btnNieuw"
'de gemaakte labels, knoppen en tekstvakken op het formulier plaatsen
'als de naam van het label,de knop of het tekstvak verschillend is van
'"niets" dan mag het getoond worden anders krijg je linksvanboven iets
Controls.Add(lblBewerking)
Controls.Add(lblGetal)
Controls.Add(lblGelijkaanTeken)
If txtResultaat.Name <> "" Then
Controls.Add(txtResultaat)
End If
Controls.Add(btnControle)
Controls.Add(btnNieuw)
btnNieuw.Enabled = False
'code toewijzen aan de knop controle als er op geklikt word
AddHandler btnControle.Click, AddressOf Controle
Next
End Sub
Public Sub Controle(ByVal sender As Object, ByVal e As EventArgs)
btnNieuw.Enabled = True
End Sub
Dit werkt. Maar nu wil ik dat ik als ik (hmmz) op de button controle klik kan controleren wat er in de tekstvakken staat.
De labels en tekstvakken zijn variabel. Je het maar eens uitvoeren.
Dit lukt mij maar niet.
Favorieten/bladwijzers