プロが教えるわが家の防犯対策術!

VBの初心者です。

TextBoxに特定の文字は入力させないなどの制限をしたいです。

例えば半角カタカナ(6)の状態で、

1."/+"と入力し、[Enter]にて決定すると、"/"と表示される

2."+"と入力し、[Enter]にて決定すると、"+"と表示される

(特定の順番の、特定の文字のみ入力制限をかける)

以上のような動きにするにはどうすればよいのでしょうか?

よろしくお願いします。
ちなみにVB6.0で、OSはWinXP Professionalです。

A 回答 (3件)

EnterのClikまたはKeyPressイベントで


もしTextBox1.Text = "/+" のときは
TextBox1.Text = "/"
というようにTextBoxに再度値を代入するようにすればいいと思いますが。
    • good
    • 0
この回答へのお礼

ありがとうございます。

求められているのがそれほど難しいものではなかったので、KeyPressのみで以下のような感じで対応しました。ソースは後で直します。

Private Sub Text1_KeyPress(KeyAscii As Integer)

If Me.Text1.Text = "/" Then
KeyAscii = 0
Exit Sub
End If

Select Case KeyAscii
Case Asc("/")
Debug.Print "/"
Case Asc("+")
Debug.Print "+"
End Select

End Sub

お礼日時:2004/05/18 20:14

 その他、Ctrl+V や 右クリック→貼り付け をするユーザーもいますので、対策を考えとく必要あります。

    • good
    • 0
この回答へのお礼

そういわれれば、そうでした。
いろいろ考えなきゃいけないんですね。

お礼日時:2004/05/18 20:20

キーイベント内に


エンターキーのキーコード判定で識別させ
テキストボックス内の文字列をサーチして
編集させればいいです

この回答への補足

ありがとうございました。

変換待ちの文字列への[Enter]キー押下では、[Enter]キーに対するKeyDownとKeyPressはおきなかったみたいなんですが、やり方が悪かったのでしょうか?

補足日時:2004/05/18 20:14
    • good
    • 0
この回答へのお礼

ありがとうございました。

変換待ちの文字列への[Enter]キー押下では、[Enter]キーに対するKeyDownとKeyPressはおきなかったみたいなんですが、やり方が悪かったのでしょうか?

お礼日時:2004/05/18 20:18

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A