Form1にButton1とTextBox1、TextBox2、TextBox3を配置します。
TextBox2はMultiLineにします。
プログラムを実行し、1度目は4などを入れ「Enterキー」を押し、間違えます。
TextBox3には「不正解」と表示されます。
次に、textbox2に正解の3を入れ「Enterキー」を押しても「正解」とは表示されません。
私の頭では「正解」と表示されると思うのですが、どこがおかしいのでしょうか。
もう一つ、TextBox2はEnterキーを押したときの「ピン」という警告音が出ないようにMultiLineにしていますが、MultiLineにせず、警告音を消す方法はありますか。宜しくお願いいたします。
以下はコードです。
Dim Problem As String
Dim RightAnswer As String
Dim Answer As String
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
problem = "1+2="
RightAnswer = "3"
End Sub
Private Sub TextBox2_PreviewKeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.PreviewKeyDownEventArgs) Handles TextBox2.PreviewKeyDown
If e.KeyCode = Keys.Enter Then
Answer = Me.TextBox2.Text
If Answer = RightAnswer Then
Me.TextBox3.Text = "正解"
Else
Me.TextBox2.Text = ""
Me.TextBox3.Text = "不正解"
Me.TextBox2.Focus()
End If
End If
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Me.TextBox1.Text = Problem
Me.TextBox2.Focus()
End Sub
No.1ベストアンサー
- 回答日時:
音を消すには TextBoxのKeyPressイベントにて
Private Sub TextBox2_KeyPress(sender as Object, e as KeyPressEventArgs) Handles TExtBox2.KeyPress
if e.KeyChar = vbCr then
e.Handled = True
End if
End Sub
を記述します
TextBox2のMultiLineを Falseに設定して見ましょう
MultiLineがTrueで質問のコードだと
前回入力した 改行文字(vbCrLf)が TextBox2に残っているために 文字列『3』と文字列『vbCrLf+3』では
同じでないので『不正解』が表示されているのです
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 九九の答えの計算 3 2022/12/20 22:13
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Excel(エクセル) マクロでテキストファイルを読み込んだ際の最終セルにデータと改行が含まれる問題の改善方法 2 2022/03/25 16:50
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る バッチからEXEの結果を受け取りたいのですが、 下記のバッ 1 2023/07/04 15:13
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Visual Basic(VBA) Visual Basic : ImageListの画像がそろったときにメッセージを表示 1 2023/07/20 13:53
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
メールアドレスの下線の入力方法
-
縦書き文章で『―』表示を『|』...
-
Word2007でTabキーを押すと改ペ...
-
手術 という漢字。この漢字を、...
-
¥マークのキーにある横棒の出...
-
ミドルバー(真ん中棒)
-
C言語 1文字入力(Enterキーなし)
-
|(縦棒)を、キーボードから...
-
半角英数大文字の入力方法について
-
ワードの表中での「箇条書き」...
-
実働時間を電卓で簡単に計算す...
-
Backspaceで文字が全部消える…。
-
英数字を打ち込む時、シフトキ...
-
eの上のカンマの出し方
-
リターンキー → エンターキー?
-
エクセル2000での Lotus 1-2-3 ...
-
ローマ字入力できない(キーボ...
-
プロダクトキーの入手方法
-
AutoHotkeyで割り当てた操作が...
-
文字を打つと変な事になる
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
縦書き文章で『―』表示を『|』...
-
メールアドレスの下線の入力方法
-
手術 という漢字。この漢字を、...
-
Word2007でTabキーを押すと改ペ...
-
¥マークのキーにある横棒の出...
-
ワードの表中での「箇条書き」...
-
急に大文字と小文字が逆に入力...
-
ミドルバー(真ん中棒)
-
eの上のカンマの出し方
-
|(縦棒)を、キーボードから...
-
半角英数大文字の入力方法について
-
C言語 1文字入力(Enterキーなし)
-
エクセルVBA セルの入力後「De...
-
実働時間を電卓で簡単に計算す...
-
VBAのユーザーフォーム、チェッ...
-
Backspaceで文字が全部消える…。
-
リターンキー → エンターキー?
-
Becky!で入力時の改行がおかし...
-
Ctrlキーを押したままだとSpace...
-
英数字を打ち込む時、シフトキ...
おすすめ情報