Zła praca Radiobuttonów w Visual Studio 2010

0

Chce stworzyć prosty program , który losowo wzbiera zdania oraz słowa w zdaniach i w zależności od wyboru radiobuttona pokazuje sie zdanie pierwsze lub drugie.

     Dim Keyword As String = TextBox1.Text
        Dim Zwierze As String

        Dim number As Integer
        number = (Rnd() * 3 + 1)
        Select Case number
            Case 1
                Zwierze = " Tygrys"


            Case 2
                Zwierze = " Małpa"
            Case 3
                Zwierze = " Ptak"
        End Select
        Dim Pierwsze As String
        Dim key As Integer
        key = (Rnd() * 3 + 1)
        Select Case key
            Case 1
                Pierwsze = "To jest właśnie " + Keyword & Zwierze + " zyje w Afryce"


            Case 2
                Pierwsze = "Czy to Był  " + Keyword & Zwierze
            Case 3
                Pierwsze = "To " + Keyword + Zwierze & " Co on potrafi?"
        End Select
        Dim Animal As String

        Dim liczba As Integer
        liczba = (Rnd() * 3 + 1)
        Select Case liczba
            Case 1
                Animal = " Swinia"


            Case 2
                Animal = " Kura"
            Case 3
                Animal = " Pies"
        End Select
        Dim Zdanie As String
        Dim klucz As Integer
        klucz = (Rnd() * 3 + 1)
        Select Case klucz
            Case 1
                Zdanie = "Ta" + Keyword & Animal + "to zwierze domowe"


            Case 2
                Zdanie = "Ta" + Keyword & Animal + "to zwirze podwórkowe"
            Case 3
                Zdanie = "To " + Keyword & Zwierze + " to nie zwierze"
        End Select
        If RadioButton1.Checked Then TextBox2.Text = Pierwsze
        If RadioButton2.Checked Then
            TextBox2.Text = Zdanie
        Else
            TextBox2.Text = ""
        End If

Problem na pewno leży w codzie radiobuttonów gdy wcisnę pierwszy nie pokazuje mi się nic w przypadku drugie pokazują mi się wszystkie zdania.
Jak mogę to rozwiązać?

dodanie znacznika <code class="vbnet"> - furious programming

0
      If RadioButton1.Checked Then TextBox2.Text = Pierwsze
        If RadioButton2.Checked Then
            TextBox2.Text = Zdanie
        Else
            TextBox2.Text = ""
        End If

Przypisujesz TextBox2.Text = Pierwsze, lecz potem albo zamieniasz to na Zdanie, albo na pusty ciąg znaków.

1
legionista16 napisał(a)
        If RadioButton1.Checked Then TextBox2.Text = Pierwsze
        If RadioButton2.Checked Then
            TextBox2.Text = Zdanie
        Else
            TextBox2.Text = ""
        End If

To to samo co:

        If RadioButton1.Checked Then
            TextBox2.Text = Pierwsze
        End If

        If RadioButton2.Checked Then
            TextBox2.Text = Zdanie
        Else
            TextBox2.Text = ""
        End If

w tej sytuacji kod po Else zawsze się wykona.

0
Public Class Form1
    Dim Zdanie As String
    Dim Pierwsze As String
   
    Sub Tekst(ByVal Value As String)
        TextBox2.Text += Value + vbCrLf
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim Keyword As String = TextBox1.Text
        Dim Zwierze As String

        Dim number As Integer
        number = (Rnd() * 3 + 1)
        Select Case number
            Case 1
                Zwierze = " Tygrys"
            Case 2
                Zwierze = " Małpa"
            Case 3
                Zwierze = " Ptak"
        End Select
        Dim Pierwsze As String
        Dim key As Integer
        key = (Rnd() * 3 + 1)
        Select Case key
            Case 1
                Pierwsze = "To jest właśnie " + Keyword & Zwierze + " zyje w Afryce"
            Case 2
                Pierwsze = "Czy to Był  " + Keyword & Zwierze
            Case 3
                Pierwsze = "To " + Keyword & Zwierze + " Co on potrafi?"
        End Select
        Dim Animal As String

        Dim liczba As Integer
        liczba = (Rnd() * 3 + 1)
        Select Case liczba
            Case 1
                Animal = " Swinia"
            Case 2
                Animal = " Kura"
            Case 3
                Animal = " Pies"
        End Select
        Dim Zdanie As String
        Dim klucz As Integer
        klucz = (Rnd() * 3 + 1)
        Select Case klucz
            Case 1
                Zdanie = "Ja" + Keyword & Animal + "to zwierze domowe"
            Case 2
                Zdanie = "On" + Keyword & Animal + "to zwirze podwórkowe"
            Case 3
                Zdanie = "My" + Keyword & Animal + " to nie zwierze"
        End Select
        If RadioButton1.Checked Then
            Tekst(Zdanie)
        ElseIf RadioButton2.Checked Then
            Tekst(Pierwsze)
        Else
            Tekst("")
        End If





    End Sub

Kod trochę zmieniony, dzięki za wypowiedzi. Tym razem mam problem z funkcja Rnd co jakiś czas po wciśnięciu buttona wartość się nie pojawia
Czasem jest to dla zmienne Zwierze/Animal czasem dla Pierwsze/Zdanie

Jak mogę tego unikną?

0

Napisz jak masz w przykładzie na MSDN http://msdn.microsoft.com/en-us/library/f7s023d2%28v=vs.90%29.aspx i problem zniknie (i pamiętaj o Randomize bo nie wiem czy masz).

1 użytkowników online, w tym zalogowanych: 0, gości: 1