アプリ版:「スタンプのみでお礼する」機能のリリースについて

課題でプログラミングを習っているのですが
何が間違っているのか分かりません。

条件で登録したものをテキストボックスに打っても
エラーメッセージが出ます。
何が間違っているのでしょうか?

Public Class Form1

Private Sub TextBox1_TextChanged(sender As System.Object, e As System.EventArgs) Handles TextBox1.TextChanged
Dim a As String
a = TextBox1.Text
If a = "ゴールド会員" Then
Label1.Text = "6000円"
ElseIf a = "一般会員" Then
Label1.Text = "8000円"
ElseIf a = "未会員" Then
Label1.Text = "10000円"
Else
MsgBox("入力をやり直してください",vbCritical,"エラー")

End If
End Sub

A 回答 (2件)

> エラーメッセージが出ます。



そのエラーメッセージを正確に書いてください。
ただ「エラーメッセージが出る」とだけ言われても、何が悪いのか判断できず、対処方法もわかりません。

あと、プログラムで使っている言語、OS等も明記しましょう。
VB.NET のように見えますが、あってますか?


もし 「入力をやり直してください」 というメッセージボックスが表示される、ということだとして。

たしか、TextChangedイベントって、入力途中でも発生したはずです。
なので、 ゴールド会員 と入力しようとしても、
TextBox1.Text="ゴ" となった時点でイベント発生
→ a="ゴ"
→ 条件に一致しないので Else MsgBox ... を実行
となったはずです。


登録されたものしか選ばせないのなら、Textboxではなく、ドロップダウンリスト等を使う

「入力をやり直してください」というメッセージは、Label1.Text等、ウィンドウを使わずに表示させる。
または、Leaveイベント等の、別のタイミングでmsgboxを使う。

といった対策が考えられます。
    • good
    • 0

>MsgBox("入力をやり直してください",vbCritical,"エラー")



エラーメッセージとはこれのことでしょうか?
ついでですからaに何が入っているか表示したらわかるのでは?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!