プロが教える店舗&オフィスのセキュリティ対策術

textboxに数字だけを入力させるにはどうすれば良いでしょうか。もしそれが不可でしたら、数字以外は無効にするにはどういう処理をすれば良いですか。初心者ですので、わかりやすく教えて下さい。よろしくお願いします。

A 回答 (5件)

数字だけを入力させたいならTextBoxではなくNumericUpDownを使うことを検討されてみてはいかがですか?


どうしてもTextBoxでないといけないならTextChangedイベントハンドラ内で
Dim cr() As Char = TextBox1.Text.ToCharArray
For Each c As Char In cr
 If Char.IsDigit(c) = False Then
  MessageBox.Show("数字のみ入力してください。", "入力チェック", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
  Return
 End If
Next
のように文字のチェック処理を実装します。
    • good
    • 1

今までの経緯を見た所、貴方は質問の仕方にも姿勢にも少々問題があるように思われます。



・何の話か明確になっていない
「JAVAでわかんないんですけど!!!」とだけある質問で、
よくよく聞いて見たらJavaScriptの話だった、てな事は非常に非効率です。
VBのつもりなのかVB.NETのつもりなのか分からないから答えない、という人もいるでしょうし、私のようにVBのつもりで答えて的が外れているなんて事もあるでしょう。
質問者にとっても回答者にとっても無駄が多いのです。

・与えられた情報に対して吟味、検討しようという意欲が感じられない。
皆さん共通して仰っている事は、
「キータイプ時イベントでキーコードを取得して、数値を表すコード以外はエラーを返す処理を設ければよい」
わけであって、解決策は出ています。後は自分で少し検討をすれば理解できる事です。
何から何までやってくれ、というのはタダで仕事の発注をしている事に他なりません。

しかし貴方はそれに対して、
「これを追加するだけで良いのでしょうか」
「文章だけでは分からない」
「何処に書いたらいいのか分からない」
と何かを考えようとしている様子がありません。

・基本的な概念がそもそも分かっていない。
足し算も知らない幼児に掛け算を教えるのは至難の業です。
貴方もそもそもの基本を理解していないから、ヒントを与えられてもどうしていいのか分からずうろたえてしまうのだと思います。

まず自分がどこの部分から理解できないのかを突き止め、
基本から学習しましょう。

あと労力を払った人に対してお礼はきちんと言いましょう。
    • good
    • 1

プログラムで行う方法として


テキストボックスのキー入力イベント時に
数字以外が入力されたら無効にする方法があります。

例えばテキストボックスの名前が「Text1」だったとして
KeyPressイベントメソッドを作成してください。

Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii < vbKey0 Or KeyAscii > vbKey9 Then
KeyAscii = 0
End If
End Sub

これでどうでしょうか?

この回答への補足

これを追加するだけで良いのでしょうか。あと、どこに書けば良いのでしょう・・・

補足日時:2004/08/16 17:41
    • good
    • 0

入力の制限


keypressイベントを見張って入力される文字を一文字一文字チェックする。

入力後に判定
確定ボタンとか適用ボタンとかを押す際に、入力内容をチェックして数字以外の文字が入っているようだったらエラーを出す。

この回答への補足

文章だけではちょっと・・・

補足日時:2004/08/16 17:40
    • good
    • 0

VB.NETではなくVB6.0の方法で宜しいのでしょうか?



参考URL:http://www.ht-net21.ne.jp/~hiro-jp/vb/vb1-001.html

この回答への補足

VB.NET2003です。

補足日時:2004/08/16 17:39
    • good
    • 0

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