型 | プロパティ | 内容 | 既定 |
---|---|---|---|
string | Text | コントロールのテキスト | |
int | TextLength | コントロールのテキストの長さ | |
bool | AcceptsReturn | Enterキーの動作を決める
|
false |
bool | AcceptsTab | Tabキーの動作を決める。
|
false |
bool | Multiline | trueならば、複数行 | false |
bool | WordWrap | trueならば、必要ならば行が折り返される | true |
ScrollBars | ScrollBars | 表示するスクロール バー
既定はScrollBars.Noneで水平も垂直スクロールバーも表示されず、テキストが表示領域を超えていても、それを視認できない。またWordWrapがtrueのときは、この設定に関わらず水平スクロールバーは表示されない |
|
int | MaxLength | ユーザーが入力または貼り付けられる文字列の最大数
Textプロパティからプログラムにより設定する方法には作用しない |
|
string | SelectedText | 選択されているテキストを表す文字列。選択されていないならば、長さ0の文字列が返される | |
int | SelectionStart | 選択されているテキストの開始位置。選択されていないならば、新しいテキストの挿入位置 | |
int | SelectionLength | 選択されているテキストの数 | |
bool | HideSelection | trueならば、フォーカスを失ったときに強調表示しない | true |
bool | Modified | trueならば、コントロールが作成または内容が設定されてから、ユーザーによって変更されている | false |
CharacterCasing | CharacterCasing | 入力された文字の大文字/小文字の変換方法 | |
AutoCompleteStringCollection | AutoCompleteCustomSource | AutoCompleteSourceプロパティがCustomSourceに設定されているときに使用される、文字列のコレクション | |
TextBoxは最初にフォーカスされたとき、既定ですべてのテキストが選択された状態となります。これを無効にするにはTextプロパティの設定後に、SelectionStartプロパティに値を設定します。c# - Why is text in TextBox highlighted (selected) when form is displayed? - Stack Overflow
textBox.Text = "SAMPLE"; textBox.SelectionStart = 0;
初期状態はfalseで、ユーザーにより内容が変更されるとtrueとなります。そしてTextプロパティをプログラムにより変更すると、再びfalseとなります。
trueとなった後は、元と同じ内容に書き替えられても、コンテキストメニューの[元に戻す]で変更前の内容に戻されてもtrueのままのため、このプロパティだけで内容が異なる状態となったかは判定できません。
入力された文字列に、大文字/小文字の区別なく前方一致する文字列を提示できます。
複数行では機能しません。Remarks - TextBox.AutoCompleteSource Property (System.Windows.Forms) | Microsoft Learn
提示される文字列のフォントにはTextBoxのそれは適用されず、フォントを指定する方法も提供されていません。 WinForms | C# | AutoComplete in the Middle of a Textbox? - Stack Overflow change Textbox autocomplete dropdown Font
列挙子 | 数値 | |
---|---|---|
None | 0 | |
Suggest | 1 | ドロップダウン リストで提示する |
Append | 2 | 文字列を追加し、追加部分を選択状態にする |
SuggestAppend | 3 | SuggestとAppendの両方 |
列挙子 | 数値 | 意味 |
---|---|---|
FileSystem | 1 | |
HistoryList | 2 | |
RecentlyUsedList | 4 | |
CustomSource | 64 | |
None | 128 | |
ListItems | 256 | ComboBoxの項目 |
AutoCompleteSourceをCustomSourceとしたときには、AutoCompleteCustomSourceプロパティでそのリストを指定します。
textBox.AutoCompleteMode = AutoCompleteMode.SuggestAppend; textBox.AutoCompleteSource = AutoCompleteSource.CustomSource; textBox.AutoCompleteCustomSource.AddRange(new string[] { "ABC", "DEF", "GHI", });
提示される文字列は、追加順とは無関係に並べ替えられて表示されます。重複した文字列を追加できますが、表示はされません。
メソッド | 機能 |
---|---|
Focus() | コントロールに入力フォーカスを設定する |
Select() | コントロールをアクティブにする |
Select(Int32, Int32) | 指定範囲のテキストを選択する |
SelectAll() | すべてのテキストを選択する |
ScrollToCaret() | キャレットが表示される位置までスクロールできる |
Textプロパティにテキストを追加できます。
public void AppendText(string text)TextBoxBase.AppendText(String) メソッド (System.Windows.Forms) | Microsoft Learn
表示位置を制御できます。
スクロールバーはWin32のSetScrollInfo()で移動できますが、これを呼ぶだけでは内容はスクロールしません。[C#] ウィンドウコントロールのスクロールバー情報の取得と設定
イベント | 発生タイミング |
---|---|
TextChanged | Textプロパティの値が変更されるとき。プログラム、ユーザーいずれによる変更でも発生する |
AutoCompleteModeをNone以外に、そしてAutoCompleteSourceを設定すると、Ctrl + Tabなどに対しKeyDownイベントが発生しなくなります。