このページではテキストボックスの主なプロパティについて解説します。テキストボックスはユーザーから文字列や数値、日付など様々な値を受け付けたり、また、値の表示にも使用できるため、必然的に使う機会が多くなります。ユーザー視点に立ち、できるだけ使いやすい設定を目指しましょう。
説明済みプロパティ
コントロールオブジェクトが異なるだけで前のページで説明した内容と同じプロパティについては説明を割愛させていただきます。以下のリンク先をご覧になってください。
※説明の中に出てくるコントロールオブジェクトは適宜読み換えてください。
テキストボックス内の文字列(Value、Text プロパティ)
テキストボックス内に入力した文字列は Value プロパティ、または、Text プロパティで取得可能です。
テキストボックスに文字列を設定したいときも、そのどちらかのプロパティに文字列を設定します。この2つのプロパティは連動しており、片方のプロパティに値を設定すると、もう片方にも同じ値が設定されます。
テキストボックスの既定のプロパティ
既定のプロパティは Value プロパティです。プロパティを省略した場合は Value プロパティが指定されたものとみなされます。
プロパティウィンドウでの設定
Value、または、Text プロパティのどちらかに、任意の文字列を入力します。
コードの記述例
'テキストボックスに文字列を表示(Textプロパティを使用しても同じ)
TextBox1.Value = "神奈川県横浜市xxxx"
複数行、Enterキーの挙動、折り返し(MultiLine、EnterKeyBehavior、WordWrap プロパティ)
テキストボックス内に入力した文字列の改行を行うには MultiLine プロパティに True を設定します。
改行の入力方法は EnterKeyBehavior プロパティの設定に依存し、このプロパティが True だと Enter キーで改行を入力することができます。一方 False の場合は Shift + Enter を入力する必要があります。
テキストボックスの端で文字列を折り返したい場合は WordWrap プロパティに True を設定し、なおかつ、MultiLine プロパティにも True を設定する必要があります。
プロパティウィンドウでの設定
各プロパティの右端をクリックし、ドロップダウンリストから True / False のどちらかを選びます。
コードの記述例
'複数行を許可 TextBox1.MultiLine = True '改行をEnterキーのみで行う TextBox1.EnterKeyBehavior = True '文字列の折り返しを行わない TextBox1.WordWrap = False
スクロールバーの表示(ScrollBars プロパティ)
テキストボックスに入力した文字列がその幅または高さを超える場合、ScrollBars プロパティによってスクロールバーを表示することができます。ScrollBars プロパティの設定値によって、水平および垂直スクロールバーの表示を各々設定することが可能です。スクロールバーを表示すると、入力した文字列の量を視覚的に捉えやすくなります。
表示イメージ
プロパティウィンドウでの設定
ScrollBars プロパティの右端をクリックし、ドロップダウンリストから希望のスクロールバー表示に対応する定数を1つ選びます。
スクロールバーの表示には他のプロパティの設定値もかかわってきます。詳細は後述の『スクロールバー表示における注意点』をご覧になってください。
コードの記述例
'スクロールバーを表示しない場合 TextBox1.ScrollBars = fmScrollBarsNone '水平・垂直スクロールバーともに表示する場合 TextBox1.ScrollBars = fmScrollBarsBoth
定数 | 値 | 内容 |
---|---|---|
fmScrollBarsNone | 0 | スクロール バーを表示しません。(既定値) |
fmScrollBarsHorizontal | 1 | 水平スクロール バーを表示します。 |
fmScrollBarsVertical | 2 | 垂直スクロール バーを表示します。 |
fmScrollBarsBoth | 3 | 水平スクロール バーと垂直スクロール バーの両方を表示します。 |
スクロールバー表示における注意点
- 水平スクロールバーを表示するのに必要な関連プロパティの設定
MultiLine = False または WordWrap = False - 垂直スクロールバーを表示するのに必要な関連プロパティの設定
MultiLine = True - 水平・垂直スクロールバーを両方表示するのに必要な関連プロパティの設定
MultiLine = True かつ WordWrap = False - スクロールバーが表示されたときの編集エリアについて
スクロールバーはテキストボックスのクライアント領域内に表示されます。そのため、スクロールバーが表示されると、その分だけ編集エリアが狭くなります。スクロールバーを表示するときには、編集エリアに十分余裕をもつようにしましょう。
-
<スクロールバー表示なし>
-
<スクロールバー表示あり>
-
<スクロールバー表示なし>
IMEモード(IMEMode プロパティ)
テキストボックスにフォーカスが移ったとき(編集可能な状態になったとき)のIMEモードは、IMEMode プロパティによって設定することが可能です。
プロパティウィンドウでの設定
IMEMode プロパティの右端をクリックし、ドロップダウンリストからテキストボックス編集時に設定したいIMEモードの定数を1つ選びます。
コードの記述例
'全角ひらがなモードで IME をオンにします。
TextBox1.IMEMode = fmIMEModeHiragana
定数 | 値 | 内容 |
---|---|---|
fmIMEModeNoControl | 0 | IME のモードを変更しません。(既定値) |
fmIMEModeOn | 1 | IME をオンにします。 |
fmIMEModeOff | 2 | IME をオフにして英語モードにします。 |
fmIMEModeDisable | 3 | IME をオフにします。 このモードにするとユーザーは、キー操作によっても IME をオンにすることができなくなります。 |
fmIMEModeHiragana | 4 | 全角ひらがなモードで IME をオンにします。 |
fmIMEModeKatakana | 5 | 全角カタカナ モードで IME をオンにします。 |
fmIMEModeKatakanaHalf | 6 | 半角カタカナ モードで IME をオンにします。 |
fmIMEModeAlphaFull | 7 | 全角英数モードで IME をオンにします。 |
fmIMEModeAlpha | 8 | 半角英数モードで IME をオンにします。 |
最大文字数(MaxLength プロパティ)
テキストボックスに入力できる文字数の上限値は、MaxLength プロパティによって設定することができます。この上限値を設定すると、ユーザーはこの上限値を超える文字の入力ができなくなります。ある決まった範囲の数値や日付など、入力するケタ(文字)数がわかっているような場合には設定しておいてもいいかもしれません。
最大文字数を設定しても、コードからはこの上限値をを超える文字列を設定することができてしまいます。
プロパティウィンドウでの設定
MaxLength プロパティに、最大文字数を入力します。最大文字数を設定したくない場合はゼロを入力します。
コードの記述例
'最大文字数を設定しない場合 TextBox1.MaxLength = 0 '最大文字数を5文字に設定する場合 TextBox1.MaxLength = 5
表示イメージ
最大文字数は全角・半角問わずその文字数分だけ入力することができます。次の表示結果は最大文字数を5としてテキストボックスに最大限入力したときのものです。
<全角で入力した場合>
<半角で入力した場合>
パスワード文字(PasswordChar プロパティ)
PasswordChar プロパティに任意の1文字を設定すると、テキストボックスに入力した文字列がすべてその文字で表示されます。テキストボックスに表示される文字が変わっているだけであって、入力した文字列は Text プロパティなどでしっかり取得できます。
プロパティウィンドウでの設定
PasswordChar プロパティにパスワード文字として表示させる任意の1文字入力します。
コードの記述例
'パスワード文字を設定しない場合 TextBox1.PasswordChar = "" 'パスワード文字を設定する場合 TextBox1.PasswordChar = "*"
表示イメージ
次の画像はパスワード文字としてアスタリスク”*”を設定したテキストボックスに文字列を入力したときの様子です。
セレクションマージン(SelectionMargin プロパティ)
セレクションマージンとは、文字列をワンクリックで選択可能にする左端余白のことです。この余白の有効/無効は SelectionMargin プロパティで設定できます。
⇒
プロパティウィンドウでの設定
SelectionMargin プロパティの右端をクリックし、ドロップダウンリストから True / False のどちらかを選びます。
コードの記述例
'セレクションマージンを無効にする場合 TextBox1.SelectionMargin = False 'セレクションマージンを有効にする場合 TextBox1.SelectionMargin = True
表示イメージ
セレクションマージンを無効にすると、その余白の分だけテキストボックス内の表示領域が広くなります。
<セレクションマージンが有効>
<セレクションマージンが無効>