VB中的状态/资本匹配程序问题

时间:2014-05-07 00:50:16

标签: vb.net

好吧,所以设置了程序,你有一组5个状态的单选按钮,另一组5个有5个大写。有一个按钮,告诉你它们是否匹配。但是我必须以某种方式做到这一点,单击一个单选按钮为'strCapital'和'strChoice'分配变量,然后比较它们以查看它们是否匹配。

我试图解决所有问题(因为理论上听起来很容易),但我已经碰壁了。

Option Explicit On
Option Strict On
Option Infer Off

Public Class frmMain

Dim strCapital As String
Dim strChoice As String

Dim strLittleRock As String
Dim strSpringfield As String
Dim strFrankfort As String
Dim strSalem As String
Dim strMadison As String

Private Sub radArkansas_CheckedChanged(sender As Object, e As EventArgs) Handles radArkansas.CheckedChanged
    strCapital = strLittleRock
End Sub

Private Sub radIllinois_CheckedChanged(sender As Object, e As EventArgs) Handles radIllinois.CheckedChanged
    strCapital = strSpringfield
End Sub

Private Sub radSpringfield_CheckedChanged(sender As Object, e As EventArgs) Handles radSpringfield.CheckedChanged
    strChoice = strSpringfield
End Sub

Private Sub btnVerify_Click(sender As Object, e As EventArgs) Handles btnVerify.Click
    If strCapital = strChoice Then
        lblMsg.Text = "Correct"
    ElseIf strCapital <> strChoice Then
        lblMsg.Text = "Incorrect"
    End If
End Sub

Private Sub radLittleRock_CheckedChanged(sender As Object, e As EventArgs) Handles 
   radLittleRock.CheckedChanged
    strChoice = strLittleRock
End Sub
End Class  

编辑:我也忘了提到主要问题,这总是一件坏事。基本上每当我运行它并输入不正确的东西(例如检查阿肯色州和斯普林菲尔德)时,它总是说它是正确的。

1 个答案:

答案 0 :(得分:0)

我做了类似的事情......你可以修改这段代码:

Private Sub btnAmIRight_Click(sender as Object,e As EventArgs)处理btnAmIRight.Click         '如果提交正确则显示

    ' declare variables
    Dim strAmIRight As String
    Dim dblMatch As Double


    If rbtnAlabama.Checked = True And rbtnMontgomery.Checked = True Then
        dblMatch = 1
    ElseIf rbtnAlaska.Checked = True And rbtnJuneau.Checked = True Then
        dblMatch = 1
    ElseIf rbtnArizona.Checked = True And rbtnPhoenix.Checked = True Then
        dblMatch = 1
    ElseIf rbtnArkansas.Checked = True And rbtnLittleRock.Checked = True Then
        dblMatch = 1
    ElseIf rbtnCalifornia.Checked = True And rbtnSacramento.Checked = True Then
        dblMatch = 1
    ElseIf rbtnColorado.Checked = True And rbtnDenver.Checked = True Then
        dblMatch = 1
    ElseIf rbtnConnecticut.Checked = True And rbtnHartford.Checked = True Then
        dblMatch = 1
    ElseIf rbtnDelaware.Checked = True And rbtnDover.Checked = True Then
        dblMatch = 1
    ElseIf rbtnFlorida.Checked = True And rbtnTallahassee.Checked = True Then
        dblMatch = 1
    ElseIf rbtnGeorgia.Checked = True And rbtnAtlanta.Checked = True Then
        dblMatch = 1
    Else
        dblMatch = 0

    End If

    ' assign code to variable
    If dblMatch = 1 Then
        strAmIRight = "Correct"
    ElseIf dblMatch = 0 Then
        strAmIRight = "Try Again"
    End If

    ' display result
    lblResult.Text = strAmIRight.ToString

End Sub
相关问题