マスクコンボコントロールでは様々な視覚的な補助機能を提供しています。この章ではそれらの機能について解説します。
AlternateText プロパティを使用すれば、コントロールが未入力(Value)のときに代わりに表示するテキストを文字列として設定することができます。
(図) 代替テキストを表示したマスクコンボコントロール
AlternateText プロパティは、MaskedComboAlternateText オブジェクトを参照します。 コントロールにフォーカスがあるときのテキストを設定するには、MaskedComboAlternateText クラスのNull プロパティを、コントロールにフォーカスがないときのテキストを設定するには、DisplayNull プロパティを使用します。これらのプロパティはAlternateText クラスを参照し、次の2つを設定することができます。
次のサンプルコードは、代替テキストを設定する例です。
' フォーカスがないときの代替テキストを設定します。 GcMaskedComboBox1.AlternateText.DisplayNull.Text = "電話番号を選択してください。" GcMaskedComboBox1.AlternateText.DisplayNull.ForeColor = Color.Gray ' 入力中の代替テキストを設定します。 GcMaskedComboBox1.AlternateText.Null.Text = "リストから選択してください。" GcMaskedComboBox1.AlternateText.Null.ForeColor = Color.Pink
// フォーカスがないときの代替テキストを設定します。 gcMaskedComboBox1.AlternateText.DisplayNull.Text = "電話番号を選択してください。"; gcMaskedComboBox1.AlternateText.DisplayNull.ForeColor = Color.Gray; // 入力中の代替テキストを設定します。 gcMaskedComboBox1.AlternateText.Null.Text = "リストから選択してください。"; gcMaskedComboBox1.AlternateText.Null.ForeColor = Color.Pink;
ShowRecommendedValue プロパティを使用すると、マスクコンボコントロールで値が未入力のとき、入力候補となる値をグレー表示することができます。
入力候補として表示された値は、表示された候補値のまま適用するか、その一部もしくは全ての値を変更して入力値として適用することができます。
入力候補として表示される値は、RecommendedValue プロパティで設定します。
候補として表示された値を確定するには、ショートカットコンポーネントのショートカットキーとして定義されている[Ctrl]+[Enter]キーを押下します。
ApplyRecommendedValue メソッドを使って入力値として適用することもできます。
(図) 入力候補値を変更せずに値を確定
(図) 入力候補値から値の一部を変更して値を確定
HighlightText プロパティを使用すると、フォーカスを受け取ったときに、コントロールのすべてのテキストを選択状態にできます。
コントロールからフォーカスが移動した後もコントロールのハイライト表示を保持するには、HideSelection プロパティを使用します。コントロールの一部分のみ選択状態にするには、SelectionStart プロパティとSelectionLength プロパティを組み合わせて使用します。
次のサンプルコードは、コントロールがフォーカスを受け取った時にコントロール内の最初の文字列から3文字を選択する例です。
Private Sub GcMaskedComboBox1_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles GcMaskedComboBox1.Enter GcMaskedComboBox1.SelectionStart = 0 GcMaskedComboBox1.SelectionLength = 3 End Sub
private void gcMaskedComboBox1_Enter(object sender, EventArgs e) { gcMaskedComboBox1.SelectionStart = 0; gcMaskedComboBox1.SelectionLength = 3; }
Enter イベント内でのSelectionStartとSelectionLengthの各プロパティを使ってテキスト選択した場合は、これらのプロパティの設定がHighlightText プロパティの設定よりも優先されます。 |