|
| Et VB 2008 EE Spg Fra : Surf | Vist : 1142 gange 40 point Dato : 03-03-09 03:20 |
|
Jeg har en Visual Basic 2008 Express Edition spg
Altså ved at trykke på en knap siger textbox1 fx 1 eller 2 eller 3, det har jeg fået gjorde
Men så skal textbox2 enten siger 1 eller 2 eller 3 og det skal være helt tilfældig med de tal der
hvordan gøre jeg lige det
lige nu er koden sådan her
Kode Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
If TextBox1.Text = "1" Then
TextBox2.Text = "1"
End If
If TextBox1.Text = "1" Then
TextBox2.Text = "2"
End If
If TextBox1.Text = "1" Then
TextBox2.Text = "3"
End Sub
End Class |
Men den vælger bare nr 3 hele tiden
så hvorfan klare leg lige den så den også vælger nr 1 og 2
please hjælp mig
| |
| Kommentar Fra : ajuul |
Dato : 03-03-09 08:12 |
|
Hej.
Dit problem er, at du kun tester for om Textbox1.Text=1.
Det er den i alle tre if-sætninger, så TextBox2.Text bliver først sat til 1, derefter til 2 og til sidst til 3.
Hver gang.
Du skal gøre således:
Kode Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
If TextBox1.Text = "1" Then
TextBox2.Text = "1"
else if TextBox1.Text = "2" Then
TextBox2.Text = "2"
else If TextBox1.Text = "3" Then
TextBox2.Text = "3"
end if
End Sub
End Class |
Du skriver, at det skal være tilfældigt, hvad TextBox2 skal være; og det er ikke tilfældet hér, da den afhænger af, hvad TextBox1 er.
Derfor skal du bruge en tilfældighedsfunktion:
Kode Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
Randomize()
TextBox2.Text = CInt(Math.Floor((3) * Rnd())) + 1
End Sub
End Class |
/ajuul
| |
| Kommentar Fra : Surf |
Dato : 03-03-09 08:47 |
|
La os nu sige at det skal være A og A har flere mugligheder som A eller B eller C og vælger dem helt tilfældig
hvordan skal det så gøres
| |
| Accepteret svar Fra : ajuul | Modtaget 40 point Dato : 03-03-09 10:02 |
|
Jeg forstår ikke, hvad du mener; men hvis det er TextBox2, der skal være A, B eller C, så kan du bruge Chr-funktionen:
Kode Randomize()
TextBox2.Text = Chr(65 + Math.Floor((3) * Rnd())) |
Var det sådan du mente?
Hvis det skal være mere generelt, kan du lave et array af værdier:
Kode Dim arr As String() = New String() {"Hej", "du", "der"}
Randomize()
TextBox2.Text = arr(Math.Floor((3) * Rnd())) |
/ajuul
| |
| Godkendelse af svar Fra : Surf |
Dato : 03-03-09 23:25 |
|
Tak for svaret ajuul.
DIT KAN JEG SIMBLE BARE BRUGE
| |
| Du har følgende muligheder | |
|
Eftersom du ikke er logget ind i systemet, kan du ikke skrive et indlæg til dette spørgsmål.
Hvis du ikke allerede er registreret, kan du gratis blive medlem, ved at trykke på "Bliv medlem" ude i menuen.
| |
|
|