0

ラジオボタンが選択されたときにのみテキストボックスが表示されるようにします。RadioButtonList を使用してみましたが、うまくいかなかったので、別のラジオ ボタンを使用しました。しかし、うまくいきませんでした。コードは次のとおりです。

Protected Sub radItem_CheckedChanged(sender As Object, e As EventArgs) Handles radItem.CheckedChanged
    If radItem.Checked = True Then
        radClient.Checked = False
        radUser.Text = False
        btnSearch.Visible() = True
        txtSearch.Visible() = True
    End If
End Sub

Protected Sub radUser_CheckedChanged(sender As Object, e As EventArgs) Handles radUser.CheckedChanged
    If radUser.Checked = True Then
        radItem.Checked = False
        radClient.Text = False
        btnSearch.Visible() = True
        txtSearch.Visible() = True
    End If
End Sub

Protected Sub radClient_CheckedChanged(sender As Object, e As EventArgs) Handles radClient.CheckedChanged
    If radClient.Checked = True Then
        radItem.Checked = False
        radUser.Text = False
        btnSearch.Visible() = True
        txtSearch.Visible() = True
    End If
End Sub

とにかく、これを行うためのはるかに効率的な方法があると確信しています。

4

4 に答える 4

0

クリックイベントを使用する必要があります。同じ複数のラジオボタンを処理しているためです。

Protected Sub rad_Click(sender As Object, e As EventArgs) Handles radItem.Click, radUser.Click, radClient.Click
     If Ctype(sender, RadioButton).Checked = False Then Exit Sub
     Select Case Ctype(sender, RadioButton).Name
          Case "radItem"
               radUser.Text = False 'You are setting the Text value to False?
                                    'Are you sure about this?

          Case "radUser"
               radClient.Text = False

          Case Else 'radClient
               radUser.Text = False
     End Select

     'You are doing this regardless of which radio button is checked
     radItem.Checked = False 'This is weird. You wont be able to use radItem.

     'I dont think you need this two lines anymore. There is always 1 RadioButton that is checked
     btnSearch.Visible = True
     txtSearch.Visible = True
End Sub
于 2013-03-19T21:03:10.740 に答える
0

運賃、「GroupName」プロパティをラジオ ボタンに追加した後、他のラジオの Text または Checked 状態を設定する必要はありません。自動的に更新されます。

テキストボックスの表示/非表示の場合は、txtSearch.Visible() = TrueORのみを設定する必要がありますtxtSearch.Visible() = False

于 2013-03-20T15:08:05.063 に答える
0

timeJV が述べたよう()に、Visible()

また、個別にグループ化されていない限り、他の radioButton を無効にする必要はありません。

どのラジオボタンが選択されたかに関係なく、常にボタン/テキストボックスを表示しているため、ラジオボタンの値を確認する必要はありません。あなたのイベントはこのように見えるはずです(他の人を変更してそれに合わせてください)

Protected Sub radItem_CheckedChanged(sender As Object, e As EventArgs) Handles radItem.CheckedChanged
    btnSearch.Visible = True
    txtSearch.Visible = True
End Sub
于 2013-03-19T19:51:49.563 に答える
0

各ラジオ ボタンで AutoPostBack プロパティを true に設定します。その後、それは動作します。

于 2014-12-08T11:25:31.567 に答える