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