• 締切済み

文字入力について

いつもお世話になります。 VBでプログラムを作っています。 テキストボックスに、文字を入力させ、カーソルを次のテキストボックスに移動させます。 その時、小文字が入っていたら、メッセージを出したいのですが、どういう風にすればいいのか分かりません。 要は、大文字で15文字しか入力させたくないのです。 よろしくお願いします。

みんなの回答

回答No.3

勝手に .NET とします。 テキストボックスのプロパティで CharacterCasing プロパティを Upper に設定すれば大文字しか入りません。 ImeMode プロパティを Disable に設定すれば IME が利かなくなります。 MaxLength プロパティを 15 にすれば 15文字までしか入りません。 まぁこれでも数字は入力できちゃいますけどね。

  • NYOI
  • ベストアンサー率58% (56/96)
回答No.2

VBのバージョンが書かれていませんので.NETとして答えます。 Private Sub TextBox1_Leave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.Leave If Not CheckValue(TextBox1.Text) Then MessageBox.Show("小文字が使われています。") TextBox1.Focus() End If End Sub Private Function CheckValue(ByVal target As String) As Boolean If target <> target.ToUpper Then Return False End If Return True End Function こんな感じでよろしいかと。 概要としては、テキストを大文字に変換し、それが元のテキストと異なった場合は小文字が使われていると判断しています。

  • don9don9
  • ベストアンサー率47% (299/624)
回答No.1

直接の回答にはならないかもしれませんが、 大文字のみ入力させたい、ということであれば LostFocus時に勝手に大文字に変換する、ではダメですか? Private Sub Text1_LostFocus() Text1.Text = UCase(Text1.Text) End Sub のような感じで。

関連するQ&A