Input for WinForms - ComponentOne

Input for WinForms
2016.01.20 更新
グレープシティ株式会社
Input for WinForms
目次
はじめに
5
主な特長
6
設計時サポート
7
[C1Button のタスク]メニュー
[C1CheckBox のタスク]メニュー
[C1ComboBox のコンテキスト]メニュー
[C1ComboBox のタスク]メニュー
[C1DateEdit のタスク]メニュー
[C1DbNavigator のタスク]メニュー
[C1DropDownControl のタスク]メニュー
[C1Label のタスク]メニュー
7-8
8
8-9
9
9-10
10
10-11
[C1NumericEdit のタスク]メニュー
11
[C1RangeSlider のタスク]メニュー
11-12
[C1SplitButton のコンテキスト]メニュー
[C1SplitButton のタスク]メニュー
[C1TextBox のタスク]メニュー
[C1ColorPicker のタスク]メニュー
[C1FontPicker のタスク]メニュー
C1Input コントロールの使い方
C1Input コントロール
C1DbNavigator コントロールの概要
12
12-13
13
13-14
14
15
15-16
16-17
C1DbNavigator の外観
17-18
C1DbNavigator の動作
18
C1ComboBox コントロールの概要
18-19
C1ComboBox の要素
19-20
ComboBox 項目のモード
20-21
C1ComboBox のスタイル
21-22
C1ComboBox ボタンの外観
ComboBox データ連結
コンボボックス内の項目に画像を追加する
C1ComboBox に項目を追加する
1
7
22
22-23
23
23-25
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
C1ComboBox の項目の削除
25-26
SelectedItemChanged イベントを使用して C1ComboBox にデータを設定す
る
26-27
SelectedIndexChanged イベントを使用して C1Combbox にデータを設定す
る
27-28
C1RangeSlider コントロールの概要
28-29
C1RangeSlider の機能
29
方向
スクロールボックスの値と範囲
C1RangeSlider の外観
背景画像
29
29-30
30
30-31
31
バースタイル
31-35
スクロールボックススタイル
35-40
C1ColorPicker コントロールの概要
40
C1ColorPicker コントロールの要素
40-42
C1ColorPicker の操作
42-43
C1ColorPicker へのビジュアルスタイルの適用
C1FontPicker コントロールの概要
C1FontPicker コントロールの要素
C1FontPicker の操作
C1FontPicker にビジュアルスタイルの適用
43-44
44
44
44-45
45-46
データ連結
46
Value と Text:値の表示、検証、更新
47
データの書式設定
47-48
型の書式設定
48-49
カスタム書式指定子
49
数値カスタム書式指定子
49-52
日時カスタム書式指定子
52-56
データの解析(更新)
56-57
カルチャ(地域)設定
57
編集マスク
2
28
C1RangeSlider の要素
最大値と最小値
57-59
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
データの検証
入力文字列の検証(PreValidation)
59-60
型付きの値の検証(PostValidation)
60
日時値の編集
60-61
数値の編集
61
ドロップダウンボタンとインクリメントボタン
61
C1DateEdit コントロール
C1NumericEdit コントロール
61-62
62
カスタムドロップダウン
62
プログラムによる書式設定、解析、検証
62
エラー処理
62-63
データエラー
63
データ表示における不正な書式
63
ユーザー入力エラー
63-64
NULL と空の値の処理
64
NULL と空の値の表示
64-65
NULL と空の値の入力
65
C1Input の外観のカスタマイズ
66
ビジュアルスタイル
66-76
テーマ
76-81
C1Themes と VisualStyle プロパティ
81
境界線スタイル
81-82
カーソルのスタイル
82-84
フラットスタイル
84-85
ボタンの色
85
タスク別ヘルプ
86
ドロップダウンフォームの追加
86-88
ナビゲータのナビゲーションを変更する
88-89
ドロップダウンエディタのカスタマイズ
89-91
C1DropDownControl のカスタマイズ
91
C1CheckBox の連結
ブール値フィールドへの C1CheckBox の連結
文字列フィールドへの C1CheckBox の連結
3
59
91
91-92
92
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
92-93
整数フィールドへの C1CheckBox の連結
カレンダードロップダウンの設定
93-95
ビジュアルスタイルによる外観のカスタマイズ
95-96
C1DateEdit コントロールのカスタマイズ
96-97
クリックされた C1DropDown のボタンをテキストボックスに表示する
97-98
PictureBox のカスタマイズ
102-104
C1Input コントロールの境界線色の表示
104-105
境界線の色が変更されたときにメッセージボックスを表示する
105-106
IMEモードを設定する
106-107
フォーカスを移動する
107-108
特定のカレンダー型を選択する
108-109
アップ/ダウンボタンの配置を変更する
4
98-101
C1DateEdit コントロールからの移動
SpinUp/SpinDownの使い方
109
109-110
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
はじめに
標準コントロールの機能と外観を強化した Input for WinForms は、ビジュアルスタイル(Office 2010 を含む)とデータ連結
をサポートする12コントロールを含むスイート製品です。強力なマスク付き編集機能、リッチ書式設定モデル、およびローカライ
ズにより、提供されている入力コントロールをアプリケーションで使用してパフォーマンスを向上させることができます。ビジュア
ル形式での動的なデータの表示、データセットナビゲーションの管理、日付の表示や編集などのさまざまな操作を行うことがで
きます。
5
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
主な特長
Input for WinForms には、ビジュアル形式での動的なデータの表示、データセットナビゲーションの管理、日付の表示や編
集などのさまざまな利点があります。
Office 2007 ビジュアルスタイルのサポート
すべての C1Input コントロールが、Office 2007 スタイルを初めとするビジュアルスタイルをサポートしています。特に、
ビジュアルスタイルをサポートする他の ComponentOne コントロールと組み合わせて使用すると、アプリケーションに
魅力的で統一感のある外観を提供できます。
動的データ表示機能
C1Input コントロールは非連結モードと連結モードで機能します。連結モードでは、コントロールの値がデータソース
フィールドに連結されます。
豊富なデータ連結のサポート
ADO.NET データソースオブジェクトの .NET データソースへのデータ連結をサポートします。
強力でカスタマイズ可能なマスク付き編集機能
C1TextBox とそのすべての派生コントロールは、日付/時刻の書式、数値範囲、カスタム書式など、強力なマスク付き
編集機能をサポートします。
ほぼ思いどおりにデータの書式を設定可能
リッチ書式設定モデルにより、開発者は、コントロールのテキスト、境界線、色などの外観を思いどおりにカスタマイズ
できます。
データ検証のサポート
入力文字列自体(PreValidation)と、ユーザーによって入力された型付きの値(PostValidation)のデータ検証をサポー
トします。
幅広いカルチャのサポート
コントロールによって使用されるカルチャ設定を定義します。この設定は、文字列の比較、数値書式/日時書式、および
特殊文字に適用されます。
専用のドロップダウンエディタ
C1DropDownControl を使用すると、スピンボタンに独自のロジックをアタッチしたり、ドロップダウンボタンに独自の
ドロップダウンフォーム/エディタをアタッチすることができます。
速やかな入力エラー検出
エラー処理動作は完全にカスタマイズ可能です。入力値を解析または検証しながらエラーを検出し、エラーメッセージ
を表示することで応答します。
ドロップダウンボタンとインクリメントボタン
日時や数値を編集するための専用の C1Input コントロールとして C1DateEdit コントロールと C1NumericEdit コント
ロールがあります。ドロップダウンボタンやインクリメント/デクリメントボタン(アップ/ダウンボタン)をサポートしていま
す。
スライド可能なスクロールボックス
C1RangeSlider コントロールは、バー上をスライドする移動可能なスクロールボックスを提供して、ユーザーアプリ
ケーションに数値データの選択機能を追加できるようにします。
さまざまな書式設定モードを選択可能
表示モード(読み取り専用または非編集モードコントロールで使用)と編集モードがあります。
NULL 値と空の値を迅速に解決可能
NULL 値と空の値を処理するための柔軟な規則が提供されており、事実上どのような状況でも、この問題をプログラム
で解決できます。
外観のカスタマイズ
C1Input コントロールは、さまざまなプロパティと強力なテーマ機能によってカスタマイズできます。これらは、コントロー
ルの外観を柔軟に調整できるメカニズムを提供します。また、C1Input は C1ColorPicker と C1FontPicker という二
つのコントロールも提供します。 C1ColorPicker コントロールは、対話式の色選択インタフェースを提供する色入力エ
ディタです。C1FontPicker コントロールは、ドロップダウンリストから目的のフォントを選択できるフォント選択コントロー
ルです。
6
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
設計時サポート
C1Input では、ビジュアルな編集機能を使用して、C1Input コントロールを簡単に設定することができます。このセクションで
は、C1Input の設計時環境を使用して、C1Input コントロールを設定する方法について説明します。
コンテキストメニュー
設計時に C1Input コントロールのコンテキストメニューを使用して追加リソースを提供できます。
タスクメニュー
Visual Studio 2005、2008、および 2010 では、C1Input コントロールにスマートタグが含まれています。スマートタグは、各コ
ントロールで最もよく使用されるプロパティを提供するショートカットタスクメニューです。各コントロールのタスクメニューを呼び
出すには、コントロールの右上隅にあるスマートタグ をクリックします。C1Input の各コントロールのスマートタグを使用する
方法については、次のトピックを参照してください。
[C1Button のタスク]メニュー
[C1Button のタスク]
のタスク]メニューを使用して、C1Button コントロールの VisualStyle プロパティをすばやく簡単に設定できま
す。
[C1Button のタスク]
のタスク]メニューにアクセスするには、コントロールの右上隅にあるスマートタグ ( ) をクリックしま
す。[[C1Button のタスク]
のタスク]メニューが表示されます。
[C1Button のタスク]
のタスク]メニューの機能は次のとおりです。
VisualStyle
[VisualStyle]]ドロップダウンのドロップダウン矢印をクリックすると、さまざまな VisualStyle 列挙オプションのリストが
開きます。たとえば、System、Office2007Blue、Office2007Black、Office2007Silver、Custom、Office2010Blue、
Office2010Black、Office2010Silver などのオプションがあります。デフォルト値は Custom です。
VisualStyle プロパティの設定方法については、「ビジュアルスタイルによる外観のカスタマイズ」を参照してください。
Input のバージョン情報
[Input のバージョン情報]
のバージョン情報]リンクをクリックすると、[[Input のバージョン情報]
のバージョン情報]ダイアログボックスが開きます。このダイ
アログボックスで、コントロールのバージョン番号とオンラインリソースを確認することができます。
[C1CheckBox のタスク]メニュー
[C1CheckBox のタスク]
のタスク]メニューを使用して、C1DateEdit コントロールの VisualStyle プロパティをすばやく簡単に設定でき
ます。
[C1CheckBox のタスク]
のタスク]メニューにアクセスするには、コントロールの右上隅にあるスマートタグ ( ))をクリックしま
す。[[C1CheckBox のタスク]
のタスク]メニューが表示されます。
7
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
[C1CheckBox のタスク]
のタスク]メニューの機能は次のとおりです。
VisualStyle
[VisualStyle]]ドロップダウンのドロップダウン矢印をクリックすると、さまざまな VisualStyle 列挙オプションのリストが
開きます。たとえば、System、Office2007Blue、Office2007Black、Office2007Silver、Custom、Office2010Blue、
Office2010Black、Office2010Silver などのオプションがあります。デフォルト値は Custom です。
VisualStyle プロパティの設定方法については、「ビジュアルスタイルによる外観のカスタマイズ」を参照してください。
Input のバージョン情報
[Input のバージョン情報]
のバージョン情報]リンクをクリックすると、[[Input のバージョン情報]
のバージョン情報]ダイアログボックスが開きます。このダイ
アログボックスで、コントロールのバージョン番号とオンラインリソースを確認することができます。
[C1ComboBox のコンテキスト]メニュー
C1ComboBox コントロールは、設計時に追加リソースのためのコンテキストメニューを提供します。C1ComboBox コントロー
ルを右クリックすると、そのコンテキストメニューが開きます。
C1Input のコンテキストメニューの機能は次のとおりです。
Input のバージョン情報
[Input のバージョン情報]リンクをクリックすると、[Input のバージョン情報]ダイアログボックスが開きます。このダイアログ
ボックスで、コントロールのバージョン番号とオンラインリソースを確認することができます。
項目の編集
項目の編集...
[項目の編集]
[項目の編集]をクリックすると、文字列コレクションエディタ
文字列コレクションエディタが開き、ここで、各行に1つずつ文字列をコレクションに入力できま
す。
8
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
[C1ComboBox のタスク]メニュー
[C1ComboBox のタスク]
のタスク]メニューを使用して、C1ComboBox コントロールの VisualStyle プロパティをすばやく簡単に設定
できます。
[C1ComboBox のタスク]
のタスク]メニューにアクセスするには、コントロールの右上隅にあるスマートタグ(
[C1ComboBox のタスク]メニューが表示されます。
)をクリックします。
[C1ComboBox のタスク]
のタスク]メニューの機能は次のとおりです。
VisualStyle
[VisualStyle]ドロップダウンのドロップダウン矢印をクリックすると、さまざまな VisualStyle 列挙オプションのリストが
開きます。たとえば、System、Office2007Blue、Office2007Black、Office2007Silver、Custom、Office2010Blue、
Office2010Black、Office2010Silver などのオプションがあります。デフォルト値は Custom です。
VisualStyle プロパティの設定方法については、「ビジュアルスタイルによる外観のカスタマイズ」を参照してください。
Input のバージョン情報
[Input のバージョン情報]
のバージョン情報]リンクをクリックすると、[[C1Input のバージョン情報]
のバージョン情報]ダイアログボックスが開きます。この
ダイアログボックスで、コントロールのバージョン番号とオンラインリソースを確認することができます。
[C1DateEdit のタスク]メニュー
[C1DateEdit のタスク]
のタスク]メニューを使用して、C1DateEdit コントロールの VisualStyle プロパティをすばやく簡単に設定でき
ます。
[C1DateEdit のタスク]
のタスク]メニューにアクセスするには、コントロールの右上隅にあるスマートタグ ( ) をクリックしま
す。[[C1DateEdit のタスク]
のタスク]メニューが表示されます。
[C1DateEdit のタスク]
のタスク]メニューの機能は次のとおりです。
VisualStyle
[VisualStyle]]ドロップダウンのドロップダウン矢印をクリックすると、さまざまな VisualStyle 列挙オプションのリストが
開きます。たとえば、System、Office2007Blue、Office2007Black、Office2007Silver、Custom、Office2010Blue、
Office2010Black、Office2010Silver などのオプションがあります。デフォルト値は Custom です。
VisualStyle プロパティの設定方法については、「ビジュアルスタイルによる外観のカスタマイズ」を参照してください。
Input のバージョン情報
[Input のバージョン情報]
のバージョン情報]リンクをクリックすると、[[Input のバージョン情報]
のバージョン情報]ダイアログボックスが開きます。このダイ
アログボックスで、コントロールのバージョン番号とオンラインリソースを確認することができます。
[C1DbNavigator のタスク]メニュー
9
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
[C1DbNavigator のタスク]
のタスク]メニューを使用して、C1DbNavigator コントロールの VisualStyle プロパティをすばやく簡単に
設定できます。
[C1DbNavigator のタスク]
のタスク]メニューにアクセスするには、コントロールの右上隅にあるスマートタグ ( ) をクリックしま
す。[[C1DbNavigator のタスク]
のタスク]メニューが表示されます。
[C1DbNavigator のタスク]
のタスク]メニューの機能は次のとおりです。
VisualStyle
[VisualStyle]]ドロップダウンのドロップダウン矢印をクリックすると、さまざまな VisualStyle 列挙オプションのリストが
開きます。たとえば、System、Office2007Blue、Office2007Black、Office2007Silver、Custom、Office2010Blue、
Office2010Black、Office2010Silver などのオプションがあります。デフォルト値は Custom です。
VisualStyle プロパティの設定方法については、「ビジュアルスタイルによる外観のカスタマイズ」を参照してください。
Input のバージョン情報
[Input のバージョン情報]
のバージョン情報]リンクをクリックすると、[[Input のバージョン情報]
のバージョン情報]ダイアログボックスが開きます。このダイ
アログボックスで、コントロールのバージョン番号とオンラインリソースを確認することができます。
[C1DropDownControl のタスク]メニュー
[C1DropDownControl のタスク]
のタスク]メニューを使用して、C1DropDownControl コントロールの VisualStyle プロパティをす
ばやく簡単に設定できます。
[C1DropDownControl のタスク]
のタスク]メニューにアクセスするには、コントロールの右上隅にあるスマートタグ ( ) をクリックしま
す。[[C1DropDownControl のタスク]
のタスク]メニューが表示されます。
[C1DropDownControl のタスク]
のタスク]メニューの機能は次のとおりです。
VisualStyle
[VisualStyle]]ドロップダウンのドロップダウン矢印をクリックすると、さまざまな VisualStyle 列挙オプションのリストが
開きます。たとえば、System、Office2007Blue、Office2007Black、Office2007Silver、Custom、Office2010Blue、
Office2010Black、Office2010Silver などのオプションがあります。デフォルト値は Custom です。
VisualStyle プロパティの設定方法については、「ビジュアルスタイルによる外観のカスタマイズ」を参照してください。
Input のバージョン情報
[Input のバージョン情報]
のバージョン情報]リンクをクリックすると、[[Input のバージョン情報]
のバージョン情報]ダイアログボックスが開きます。このダイ
アログボックスで、コントロールのバージョン番号とオンラインリソースを確認することができます。
[C1Label のタスク]メニュー
[C1Label のタスク]
のタスク]メニューを使用して、C1Label コントロールの VisualStyle プロパティをすばやく簡単に設定できます。
10
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
[C1Label のタスク]
のタスク]メニューにアクセスするには、コントロールの右上隅にあるスマートタグ ( ) をクリックします。[[C1Label
のタスク]
のタスク]メニューが表示されます。
[C1Label のタスク]
のタスク]メニューの機能は次のとおりです。
VisualStyle
[VisualStyle]]ドロップダウンのドロップダウン矢印をクリックすると、さまざまな VisualStyle 列挙オプションのリストが
開きます。たとえば、System、Office2007Blue、Office2007Black、Office2007Silver、Custom、Office2010Blue、
Office2010Black、Office2010Silver などのオプションがあります。デフォルト値は Custom です。
VisualStyle プロパティの設定方法については、「ビジュアルスタイルによる外観のカスタマイズ」を参照してください。
Input のバージョン情報
[Input のバージョン情報]
のバージョン情報]リンクをクリックすると、[[Input のバージョン情報]
のバージョン情報]ダイアログボックスが開きます。このダイ
アログボックスで、コントロールのバージョン番号とオンラインリソースを確認することができます。
[C1NumericEdit のタスク]メニュー
[C1NumericEdit のタスク]
のタスク]メニューを使用して、C1NumericEdit コントロールの VisualStyle プロパティをすばやく簡単に設
定できます。
[C1NumericEdit のタスク]
のタスク]メニューにアクセスするには、コントロールの右上隅にあるスマートタグ ( ) をクリックしま
す。[[C1NumericEdit のタスク]
のタスク]メニューが表示されます。
[C1NumericEdit のタスク]
のタスク]メニューの機能は次のとおりです。
VisualStyle
[VisualStyle]]ドロップダウンのドロップダウン矢印をクリックすると、さまざまな VisualStyle 列挙オプションのリストが
開きます。たとえば、System、Office2007Blue、Office2007Black、Office2007Silver、Custom、Office2010Blue、
Office2010Black、Office2010Silver などのオプションがあります。デフォルト値は Custom です。
VisualStyle プロパティの設定方法については、「ビジュアルスタイルによる外観のカスタマイズ」を参照してください。
Input のバージョン情報
[Input のバージョン情報]
のバージョン情報]リンクをクリックすると、[[Input のバージョン情報]
のバージョン情報]ダイアログボックスが開きます。このダイ
アログボックスで、コントロールのバージョン番号とオンラインリソースを確認することができます。
[C1RangeSlider のタスク]メニュー
[C1RangeSlider のタスク]
のタスク]メニューを使用して、C1RangeSlider コントロールの VisualStyle プロパティをすばやく簡単に設
定できます。
[C1RangeSlider のタスク]
のタスク]メニューにアクセスするには、コントロールの右上隅にあるスマートタグ( )をクリックしま
11
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
す。[[CIRangeSlider のタスク]
のタスク]メニューが表示されます。
[C1RangeSlider のタスク]
のタスク]メニューの機能は次のとおりです。
VisualStyle
[VisualStyle]]ドロップダウンのドロップダウン矢印をクリックすると、さまざまな VisualStyle 列挙オプションのリストが
開きます。たとえば、System、Office2007Blue、Office2007Black、Office2007Silver、Custom、Office2010Blue、
Office2010Black、Office2010Silver などのオプションがあります。デフォルト値は Custom です。
VisualStyle プロパティの設定方法については、「ビジュアルスタイルによる外観のカスタマイズ」を参照してください。
C1.Win.C1 Input のバージョン情報
[C1.Win.C1Input のバージョン情報]
のバージョン情報]リンクをクリックすると、[[ Input のバージョン情報]
のバージョン情報]ダイアログボックスが開きま
す。このダイアログボックスで、コントロールのバージョン番号とオンラインリソースを確認することができます。
[C1SplitButton のコンテキスト]メニュー
C1SplitButton コントロールは、設計時に追加リソースのためのコンテキストメニューを提供します。C1SplitButton コント
ロールを右クリックすると、そのコンテキストメニューが開きます。
C1Input のコンテキストメニューの機能は次のとおりです。
Input のバージョン情報
[Input のバージョン情報]
のバージョン情報]リンクをクリックすると、[[Input のバージョン情報]
のバージョン情報]ダイアログボックスが開きます。このダイアログ
ボックスで、コントロールのバージョン番号とオンラインリソースを確認することができます。
項目の編集
項目の編集...
[項目の編集]
[項目の編集]をクリックすると、ドロップダウン項目を追加または削除するための DropDownItem コレクションエディタ
コレクションエディタが開
きます。
12
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
[C1SplitButton のタスク]メニュー
[C1SplitButton のタスク
のタスク]]メニューを使用して、C1SplitButton コントロールの VisualStyle プロパティをすばやく簡単に設定
できます。
[C1SplittButton のタスク]
のタスク]メニューにアクセスするには、コントロールの右上隅にあるスマートタグをクリックしま
す。[[C1SplitButton のタスク]
のタスク]メニューが表示されます。
[C1SplitButton のタスク]
のタスク]メニューの機能は次のとおりです。
VisualStyle
[VisualStyle]]ドロップダウンのドロップダウン矢印をクリックすると、さまざまな VisualStyle 列挙オプションのリストが
開きます。たとえば、System、Office2007Blue、Office2007Black、Office2007Silver、Custom、Office2010Blue、
Office2010Black、Office2010Silver などのオプションがあります。デフォルト値は Custom です。
VisualStyle プロパティの設定方法については、「ビジュアルスタイルによる外観のカスタマイズ」を参照してください。
Input のバージョン情報
[Input のバージョン情報]
のバージョン情報]リンクをクリックすると、[[Input のバージョン情報]
のバージョン情報]ダイアログボックスが開きます。このダイ
アログボックスで、コントロールのバージョン番号とオンラインリソースを確認することができます。
[C1TextBox のタスク]メニュー
[C1TextBox のタスク]
のタスク]メニューを使用して、C1TextBox コントロールの VisualStyle プロパティをすばやく簡単に設定できま
す。
[C1TextBox のタスク]
のタスク]メニューにアクセスするには、コントロールの右上隅にあるスマートタグ ( ) をクリックしま
す。[[C1TextBox のタスク]
のタスク]メニューが表示されます。
[C1TextBox のタスク]
のタスク]メニューの機能は次のとおりです。
VisualStyle
[VisualStyle]]ドロップダウンのドロップダウン矢印をクリックすると、さまざまな VisualStyle 列挙オプションのリストが
開きます。たとえば、System、Office2007Blue、Office2007Black、Office2007Silver、Custom、Office2010Blue、
Office2010Black、Office2010Silver などのオプションがあります。デフォルト値は Custom です。
VisualStyle プロパティの設定方法については、「ビジュアルスタイルによる外観のカスタマイズ」を参照してください。
Input のバージョン情報
[Input のバージョン情報]
のバージョン情報]リンクをクリックすると、[[Input のバージョン情報]
のバージョン情報]ダイアログボックスが開きます。このダイ
アログボックスで、コントロールのバージョン番号とオンラインリソースを確認することができます。
[C1ColorPicker のタスク]メニュー
[C1ColorPicker のタスク]
のタスク]メニューでは、C1ColorPicker コントロールの VisualStyle プロパティをすばやく簡単に設定でき
13
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
ます。
[C1ColorPicker のタスク]
のタスク]メニューにアクセスするには、コントロールの右上隅にあるスマートタグ( )をクリックします。これ
で、[[C1ColorPicker のタスク]
のタスク]メニューが開きます。
[C1ColorPicker のタスク]
のタスク]メニューの機能は次のとおりです。
VisualStyle
[VisualStyle]]ドロップダウンのドロップダウン矢印をクリックすると、さまざまな VisualStyle 列挙オプションのリストが
開きます。System、Office2007Blue、Office2007Black、Office2007Silver、Custom、Office2010Blue、
Office2010Black、Office2010Silver などのオプションがあります。デフォルト値は Custom です。
VisualStyle プロパティの設定の詳細については、「C1ColorPicker へのビジュアルスタイルの適用」および「ビジュア
ルスタイルによる外観のカスタマイズ」を参照してください。
C1.Win.C1Input のバージョン情報
[C1.Win.C1Input のバージョン情報]
のバージョン情報]リンクをクリックすると、[[ComponentOne]]ダイアログボックスが表示され、コン
トロールのバージョン番号、ライセンス、オンラインリソースなどの情報が表示されます。
[C1FontPicker のタスク]メニュー
[C1FontPicker のタスク]
のタスク]メニューでは、C1FontPicker コントロールの VisualStyle プロパティをすばやく簡単に設定できま
す。
[C1FontPicker のタスク]
のタスク]メニューにアクセスするには、コントロールの右上隅にあるスマートタグ( )をクリックします。これ
で、[[C1FontPicker のタスク]
のタスク]メニューが開きます。
[C1FontPicker のタスク]
のタスク]メニューの機能は次のとおりです。
VisualStyle
[VisualStyle]]ドロップダウンのドロップダウン矢印をクリックすると、さまざまな VisualStyle 列挙オプションのリストが
開きます。System、Office2007Blue、Office2007Black、Office2007Silver、Custom、Office2010Blue、
Office2010Black、Office2010Silver などのオプションがあります。デフォルト値は Custom です。
VisualStyle プロパティの設定の詳細については、「C1FontPicker コントロールの概要」および「ビジュアルスタイルに
よる外観のカスタマイズ」を参照してください。
C1.Win.C1Input のバージョン情報
[C1.Win.C1Input のバージョン情報]
のバージョン情報]リンクをクリックすると、[[ComponentOne]]ダイアログボックスが表示され、コン
トロールのバージョン番号、ライセンス、オンラインリソースなどの情報が表示されます。
14
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
C1Input コントロールの使い方
以下のセクションでは、C1Input コントロールの使用方法について説明します。
C1Input コントロール
現在のバージョンの C1Input には、次の12つのコントロールがあります。
C1Button
標準の System.Windows.Forms.Button から派生された標準のボタンタイプコントロール。C1Button コントロールは、
その他のビジュアルスタイルもサポートします。
C1CheckBox
項目の値をオン、オフ、または不確定として設定または変更するためのウィンドウコントロール。デフォルトの
C1CheckBox コントロールは2つの状態を表すチェックボックスです。ThreeState プロパティが有効な場合は、3つの
状態を表すチェックボックスにすることができます。プロパティ CheckState により、チェックボックスの状態の外観が決
定されます。
次の表で、チェックボックスの3つの状態と、その状態のときの各チェックボックスの外観を説明します。
チェック
ボックス
の状態
説明
不確定
一部のチェックボックス項目だけが選択されている
場合は、ボックス内に濃いグレーのボックスが表
示されます。
オン
項目が選択されている場合は、チェックボックス内
にチェックマークが表示されます。
オフ
項目が選択されていない場合は、ボックス内に空
のチェックボックスが表示されます。
次の図は、C1CheckBox コントロールのチェックボックスの各状態(不確定、オン、オフ)を示しています。
C1TextBox
テキストフォーム上で任意のデータ型の情報を入力および編集するために使用されるメインのデータ連結コントロール
です。データ書式設定、編集マスク、データ検証などの機能をサポートします。また、
また、C1TextBox では、すべてのデー
タ型を書式設定とマスク付きで編集でき、日時書式に関する特別な機能もサポートします。C1TextBox は、メインの
データエディタコントロールして使用できるほか、特化されたコントロール(C1NumericEdit、C1DateEdit など)の基本
クラスとしても機能します。C1TextBox は、標準の System.Windows.Forms.TextBox コントロールから派生されます。
C1DropDownControl
C1DropDownControl コントロールは C1TextBox から派生され、C1TextBox の書式設定、検証などのすべての機能
をサポートします。C1TextBox から派生された他の2つのコントロールと同様に、アップ
アップ/ダウン
ダウン(スピン)ボタンとドロッ
プダウンボタンもサポートします。ただし、その2つの特化されたコントロールとは異なり、C1DropDownControl で
は、アップ
アップ/ダウン
ダウンボタンに独自のロジックを関連付けたり、ドロップダウンボタンに独自のドロップダウンフォーム/エ
15
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
ディタを関連付けることができます。
C1DateEdit
日時値の編集用に特化されたデータ連結コントロールです。C1TextBox から派生されます。C1TextBox の機能に加え
て、C1DateEdit は、ドロップダウンカレンダーと、値を変更するためのアップダウン(スピン)ボタンをサポートします。
C1DbNavigator
データソース行の間を移動するための便利なボタンを提供するデータ連結コントロールです。このコントロールを使用し
て、最初の行、最後の行、前の行、または次の行に移動したり、データソースの更新やデータのリフレッシュなど、デー
タに対する一般的な操作を実行できます。
C1Label
書式設定されたデータを表示する読み取り専用データ連結コントロールです。C1Label は、標準の
System.Windows.Forms.Label コントロールから派生されます。
C1NumericEdit
数値の編集用に特化されたデータ連結コントロールです。C1TextBox から派生されます。C1TextBox の機能に加え
て、C1NumericEdit はドロップダウン電卓とアップダウン(スピン)ボタンをサポートします。アップダウンボタンは、値の
増減に使用できます。
C1PictureBox
データソースフィールドに格納されているイメージを表示するデータ連結コントロールです。
System.Windows.Forms.PictureBox から派生されます。
C1DbNavigator コントロールの概要
C1DbNavigator クラスは C1DbNavigator コントロールを表します。これは、データソース行の間を移動するために便利な
ボタンを持つデータ連結コントロールです。このコントロールを使用して、最初の行、最後の行、前の行、または次の行に移動
したり、データソースの更新やデータのリフレッシュなど、データに対する一般的な操作を実行できます。
NavigatorButtonEnum は、C1DbNavigator コントロールで使用可能なボタン(追加、適用、キャンセル、削除、編集、最
初、最後、次へ、位置、前へ、リフレッシュ、更新)のリストを提供します。
NavigatorButtonEnum の Position 値は、[位置]テキストボックス内のテキストが変更されたときに、BeforeAction イベント
で使用されます。例については、「ナビゲータのナビゲーションを変更する」を参照してください。
C1DbNavigator コントロールには、データセット内のレコード間を移動したり、レコードを編集するための次のボタンが含まれ
ています。
ボタ
ン
説明
[最初]ボタン。レコードの最初の行に移動します。デフォルトで表示さ
れます。
[前へ]ボタン。レコードの前の行に移動します。デフォルトで表示されま
す。
[次へ]ボタン。レコードの次の行に移動します。デフォルトで表示されま
す。
[最後]ボタン。レコードの最後の行に移動します。デフォルトで表示さ
れます。
16
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
[追加]ボタン。レコードに行を追加します。デフォルトでは表示されませ
ん。
[削除]ボタン。レコードの行を削除します。デフォルトでは表示されませ
ん。
[編集]ボタン。レコードの行を編集します。デフォルトでは表示されませ
ん。
[適用]ボタン。レコードの変更を適用します。デフォルトでは表示されま
せん。
[キャンセル]ボタン。変更をキャンセルします。デフォルトでは表示され
ません。
[更新]ボタン。レコードを更新します。デフォルトでは表示されません。
[リフレッシュ]ボタン。レコードをリフレッシュします。デフォルトでは表示
されません。
C1DbNavigator の外観
C1DbNavigator のボタン、境界線、およびユーザーインタフェース文字列は、C1DbNavigator のプロパティを使用して簡単に
カスタマイズすることができます。
C1DbNavigator のボタンのプロパティ
次の表に、C1DbNavigator コントロールのボタンのカスタマイズに使用するプロパティとその説明を示します。
プロパティ
説明
C1DbNavigator.ButtonSize
ナビゲータボタンのサイズです。
C1DbNavigator.ButtonStyle
ナビゲータボタンのスタイル(フラットまたは標準)
を取得します。
C1DbNavigator.ButtonTextAlign
ナビゲータボタンのイメージに対して、テキストが
どのように表示されるかを制御します。
C1DbNavigator.ButtonTexts
ボタンに表示されるテキストを取得または設定し
ます。
C1DbNavigator.ButtonToolTips
ナビゲータボタンのツールチップを定義する文字
列コレクションです。
C1DbNavigator.ColorButtons
ナビゲータボタンがカラービットマップを持つかど
うかを指定します。
C1DbNavigator.ColorWhenHover True の場合は、ナビゲータボタン上にマウスが
置かれると、ボタンにカラービットマップが表示さ
れます。
C1DbNavigator.VisibleButtons
どのボタンを表示するかを指定します。
C1DbNavigator のユーザーインタフェース文字列
次の表に、C1DbNavigator のユーザーインタフェース文字列のカスタマイズに使用するプロパティとその説明を示します。
17
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
UIString
説明
行:
レコード内で現在選択されている行の番号を表します。
/{0}
レコード内の合計行数を表します。
(非アクティブ)
このテキストは位置テキストボックスに表示されます。
(空)
確認
削除ボタンをクリックしてレコード内の行を削除するときに表示され
るダイアログボックスのタイトルに表示されます。
この行を削除して
よろしいですか。
確認ダイアログボックスのコンテンツ領域に表示されます。
C1DbNavigator 位置テキストボックスのプロパティ
Text プロパティを使用して、位置テキストボックス内のテキストを取得または設定できます。位置テキストボックスが非表示の
場合は、空の文字列が返されます。
位置テキストボックスが非表示の場合に Text プロパティを設定しても何も起こりません。
Text プロパティを変更すると、データソースの位置が変更されます。
C1DbNavigator の動作
C1DbNavigator には、動作を制御するためのさまざまなイベントがあります。たとえば、いずれかのボタンが押されたとき、レ
コード内で現在の行またはフィールドが変更されたとき、いずれかのボタンをクリックして例外が生成されたとき、ビジュアルプ
ロパティスタイルが変更されたときなどに、C1DbNavigator の動作が変化します。
次のテーブルに、C1DbNavigator のイベントをリストします。
イベント
説明
Adding
[追加]ボタンが押されると発生します。
BeforeAction
ボタンがクリックされ、アクションが実行される前に発生します。
ButtonClick
ナビゲータボタンが押され、ボタンアクションが実行された後に発生します。
ButtonCursorChanged
ButtonCursor プロパティの値が変化すると発生します。
Deleting
[削除]ボタンが押されると発生します。
Editing
[編集]ボタンが押されると発生します。
Error
ボタンクリックで実行されたアクションで例外が生成されると発生します。
ItemChanged
現在の行が変更され、その一部のフィールドが変更されると発生します。
PositionChanged
位置が変化すると発生します。
RefreshData
[リフレッシュ]ボタンが押されると発生します。
TextChanged
C1.Win.C1Input.C1DbNavigator.Text プロパティの値が変更されたときに発生します。
UpdateData
[更新]ボタンが押されると発生します。
VisualStyleChanged
VisualStyle プロパティが変更されたときに発生します。
C1ComboBox コントロールの概要
18
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
C1ComboBox は、選択可能な項目のリストを表示するために使用される複合コントロールです。機能は ListBox コントロー
ルに似ていますが、項目を非表示にすることができるため、スペースを節約できます。Items プロパティによって
C1ComboBox に項目を追加したり、文字列の配列や連結ソースによってデータに連結することができます。C1ComboBox
には、Textbox、Button、DropDownList の各要素が含まれます。テキストボックスに入力したり、ボタンをクリックしてドロッ
プダウンリストから項目を選択することができます。詳細については、「C1ComboBox の要素」を参照してください。デフォルト
状態の C1ComboBox コントロールは折りたたまれており、テキストボックスエリアには1つの項目しか表示されません。展開
状態では、C1ComboBox コントロールが展開され、選択可能な項目がドロップダウンリストボックスに表示されます。
次の図は、折りたたみ状態と展開状態の C1ComboBox を示します。
標準のコンボボックスコントロールは、右側にドロップダウンボタンが表示され、ドロップダウンリストとして機能します。ここで、
リストからすばやくオプションを選択できます。ただし、C1ComboBox では、他の機能を追加したり、数値を編集するための
アップ/ダウンボタンを作成することができます。コンボボックスにモーダルダイアログを表示する必要がある場合は、モーダル
ボタンを追加することもできます。詳細については、「C1ComboBox ボタンの外観」を参照してください。
C1ComboBox の要素
このセクションでは、C1ComboBox コントロールを構成する要素について画像を使用してわかりやすく説明します。
C1ComboBox コントロールは、編集可能なテキストボックスとドロップダウンリストで構成されます。
C1ComboBox テキストボックス
ユーザーは実行時に C1ComboBox のテキストボックスにテキストを入力できます。また、Text プロパティに文字列を割り当
てることもできます。Text プロパティに値を割り当てると、C1ComboBox のテキストボックスの現在の値は変更されます。
C1ComboBox テキストボックスにテキストが入力されると、その文字に一致する C1ComboBoxItem がドロップダウンリストに
表示されます。たとえば、顧客名がリストされる C1ComboBox のテキストボックスに "Sm" と入力すると、"Sm" で始まるすべ
ての顧客名がドロップダウンリストに表示されます。
C1ComboBox ドロップダウンボタン
19
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
デフォルトの C1ComboBox には、ドロップダウンスタイルのボタンが表示されますが、VisibleButtons プロパティを使用し
て、そのボタンを表示するかどうかを選択できます。ドロップダウンボタンに加えて、アップダウン
アップダウンボタンや独自のカスタムボタ
ンも表示できます。モーダルボタンをドロップダウン、アップダウン、またはカスタムボタンの横に表示したり、別個に表示するこ
とができます。詳細については、「C1ComboBox ボタンの外観」を参照してください。
ボタンのサイズは、ButtonWidth プロパティを使用して変更できます。
C1ComboBoxItems のドロップダウンリスト
ドロップダウンリストは、いくつかの C1ComboBoxItem で構成され、実行時にのみ表示されます。ドロップダウンリストにアク
セスするには、C1ComboBox テキストボックスの横にあるドロップダウン矢印をクリックします。
設計時に C1ComboBox に項目を追加するには、文字列コレクションエディタ
文字列コレクションエディタを使用します。文字列コレクションエディタでは、
項目を行単位で入力できます。実行時に Items プロパティを使用して動的に項目を追加することもできます。例については、
「C1ComboBox に項目を追加する」を参照してください。
ComboBox 項目のモード
ItemMode プロパティを使用して、項目の表現を指定できます。
次の3つのオプションがあります。
Default
Default オプションでは、各 C1ComboBoxItem は文字列か、イメージにすることもできます。
次のイメージは、Default オプションの C1ComboBox を示します。
使用例については、ComboBoxImages サンプルを参照してください。
HtmlPattern
HtmlPattern オプションでは、各項目が HTML パターンと連結項目データから作成されます。
次のイメージは、HtmlPattern オプションの C1ComboBox を示します。
20
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
この例で使用されている HtmlPattern には、<table><tr><td>Country:</td><td><b>{Text}</b></td></tr><tr><td
align="right">Flag:</td><td><img src='{Text}'></td></tr></table> が設定されています。
使用例については、ComboBoxItemModes サンプルを参照してください。
Html
Html オプションでは、各項目が HTML サブセットのフラグメントになります。
次のイメージは、Html オプションの C1ComboBox を示します。
この例で使用されている Html は、次のように設定されています。
使用例については、ComboBoxItemModes サンプルを参照してください。
C1ComboBox のスタイル
定義済みのテーマを使用しない場合は、C1ComboBox の VisualStyle プロパティを Custom に設定して、C1CombBox コン
トロールに独自のスタイルを作成できます。
C1ComboBox には、次の外観プロパティがあります。
プロパティ
説明
DefaultItemForeColor
C1ComboBox 内の項目のデフォルトのテ
キスト色を取得または設定します。
DropDownBackColor
C1ComboBox 内のドロップダウンフォーム
の背景色を取得または設定します。
DropDownBorderColor C1ComboBox 内のドロップダウンフォーム
21
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
の境界線色を取得または設定します。
HotItemBackColor
コンボボックス項目の上にマウスがあるとき
のコンボボックス項目の背景色を取得また
は設定します。
HotItemBorderColor
境界線の上にマウスがあるときのコンボ
ボックス項目の境界線色を取得または設定
します。
HotItemForeColor
コンボボックス項目の上にマウスがあるとき
のコンボボックス項目の前景色を取得また
は設定します。
Padding
ドロップダウンフォーム内のパディングを取
得または設定します。
TextSpacing
コンボボックス項目のテキスト部分を取得ま
たは設定します。
C1ComboBox ボタンの外観
デフォルトの C1ComboBox には、テキストボックスの右側に1つのドロップダウンボタンが表示されます。
C1ComboBox.VisibleButtons プロパティを使用して、ボタンの表示/非表示と使用するボタンのタイプを指定できます。
C1ComboBox.VisibleButtons プロパティには、以下の値を設定できます。
値
外観または説明
None
ドロップダウンボタンなしで C1ComboBox が表示されま
す。
UpDown
C1ComboBox 内のドロップダウンフォームの背景色を取
得または設定します。
DropDown ドロップダウンボタンのデフォルト画像を表示します。
Modal
モーダルボタンのデフォルト画像を表示します。ドロップダ
ウンボタンも有効な場合は、ドロップダウンボタンの右に
モーダルボタンが表示されます。
Custom
C1ComboBox コントロールのカスタムボタンを取得また
は設定します。
ボタンのスタイルを決定したら、選択したボタンにデフォルトのボタン画像を使用したり、カスタム画像を作成することができま
す。以下のプロパティを使用して、各ボタンスタイル(Custom、UpDown、DropDown、Modal)のカスタム画像を適用できま
す。
ButtonImages.CustomImage - Custom ボタンに画像を適用します。
ButtonImages.DownImage - Down ボタンに画像を適用します。
ButtonImages.DropImage - DropDown ボタンに画像を適用します。
ButtonImages.ModalImage - Modal ボタンに画像を適用します。
ButtonImages.Up - Up ボタンに画像を適用します。
22
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
ComboBox データ連結
C1ComboBox は実行時に列挙や配列に連結したり、設計時に配列、文字列、または連結ソースを通して連結することができ
ます。C1ComboBox をデータに連結すると、データベースのデータを参照したり、新しいデータを入力したり、既存のデータを
追加することができます。
C1ComboBoxFeatures サンプルは、以下のさまざま方法で C1CombBox にデータを連結する方法を示します。
実行時に C1ComboBox を列挙に連結する方法
実行時に C1ComboBox を配列に連結する方法
設計時に C1ComboBox を配列に連結する方法
C1ComboBox を連結ソースに連結する方法
コンボボックス内の項目に画像を追加する
ImageList の画像を使用すると、C1ComboBox コントロールのドロップダウンリスト内の各項目に画像を簡単に追加できま
す。
設計時に C1ComboBoxItem に画像を追加するには、次の手順を実行します。
1.
2.
3.
4.
5.
C1ComboBox コントロールをフォームに追加します。
文字列コレクションエディタを使用して、C1ComboBox.Items コレクションに項目を追加します。
ImageList コントロールをフォームに追加します。
imageList1 に画像を追加します。
画像のキー(名前)を C1ComboBox.Items 内の項目と同じに設定します。
実行時に C1ComboBoxItem に画像を追加するには、次のコードを追加します。
Visual Basic でコードを書く場合
Visual Basic
c1ComboBox1.ItemsImageList = imageList
imageList.Images.Add("First item", Image.FromFile("First.png"))
c1ComboBox1.Items.Add("First item")
C# でコードを書く場合
C#
c1ComboBox1.ItemsImageList = imageList;
imageList.Images.Add("First item", Image.FromFile("First.png"));
c1ComboBox1.Items.Add("First item");
C1ComboBox に項目を追加する
C1ComboBox に項目を追加するには、プログラムで Add メソッドを使用するか、設計時に 文字列コレクションエディタ
文字列コレクションエディタを使用
します。追加する項目が複数ある場合、Add メソッドは、新しい項目を次の位置に追加します。項目またはオブジェクトをリスト
の特定の位置に追加する場合は、Insert メソッドを使用します。コンボボックスに配列全体を追加する場合は、AddRange メ
ソッドを使用して、オブジェクトまたは項目の文字列を C1ComboBox に追加します。
項目をプログラムで追加するには
23
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
項目を C1ComboBox に追加するには、C1ComboBox クラスの Add メソッドを使用します。コレクションは、Items プロパティ
を使用して参照されます。
Visual Basic でコードを書く場合
Visual Basic
c1ComboBox1.Items.Add("東京")
C# でコードを書く場合
C#
c1ComboBox1.Items.Add("東京");
文字列コレクションエディタを使用して項目を追加するには
1. フォームで、C1ComboBox コントロールを右クリックし、[項目の編集]
[項目の編集]を選択します。文字列コレクションエディタ
文字列コレクションエディタが表
示されます。
2. 文字列コレクションエディタ
文字列コレクションエディタで、文字列を入力し、[[Enter]]キーを押して、文字列を次の文字列の位置に追加します。
文字列またはオブジェクトを目的の位置に挿入するには
次の例は、文字列 京都 を5番目の位置に挿入します。
Visual Basic でコードを書く場合
Visual Basic
c1ComboBox1.Items.Insert(4, "京都")
C# でコードを書く場合
C#
c1ComboBox1.Items.Insert(4, "京都");
配列を文字列で渡すには
配列を文字列で渡すには、次の手順に従います。
1. フォームに C1ComboBox コントロールを追加します。
2. フォームに Button コントロールを追加します。
3. 次の Button_Click イベントハンドラを作成し、次のコードを追加して、配列を文字列で C1ComboBox に渡します。
C#でコードを書く場合
でコードを書く場合
C#
private void button1_Click(object sender, EventArgs e)
{
string[] items = { "日本語", "ヒンディー語", "英語", "ドイツ語"};
c1ComboBox1.Items.AddRange(items);
}
4. プロジェクトを実行し、Button をクリックします。
24
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
5. C1ComboBox コントロールでドロップダウンボタンをクリックし、項目の文字列がドロップダウンリストに表示されること
を確認します。
C1ComboBox の項目の削除
C1ComboBox からすべての項目または特定の項目を削除することは簡単です。これは、プログラムからも、文字列コレクショ
文字列コレクショ
ンエディタ
ンエディタを使用して設計時にも行うことができます。
プログラムによるすべての項目の削除
プログラムで C1ComboBox からすべての項目を削除するには、次のようにします。
Visual Basic でコードを書く場合
Visual Basic
c1ComboBox1.Items.Clear()
C# でコードを書く場合
C#
c1ComboBox1.Items.Clear();
プログラムによる1つの項目の削除
プログラムで1つの項目を削除するには、Remove メソッドまたは RemoveAt メソッドを使用します。Remove メソッドは、指
定された項目または選択された項目を削除します。RemoveAt メソッドは、指定されたインデックス番号を持つ項目を削除しま
す。
次のコードは、Remove メソッドと RemoveAt メソッドを使用して、特定の項目または選択された項目を削除する方法を示しま
す。
Visual Basic でコードを書く場合
Visual Basic
' インデックス0の項目を削除します
c1ComboBox1.Items.RemoveAt(0)
' 現在選択されている項目を削除します
c1ComboBox1.Items.Remove(ComboBox1.SelectedItem)
' "Chicago" 項目を削除します
c1ComboBox1.Items.Remove("Chicago")
C# でコードを書く場合
C#
25
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
// インデックス0の項目を削除します
comboBox1.Items.RemoveAt(0);
// 現在選択されている項目を削除します
comboBox1.Items.Remove(comboBox1.SelectedItem);
// "Chicago" 項目を削除します
comboBox1.Items.Remove("Chicago");
SelectedItemChanged イベントを使用して C1ComboBox にデー
タを設定する
コンボボックスで特定の項目が選択されたときに C1ComboBox にデータを設定するには、次のよう
に、SelectedItemChanged イベントを使用します。
1. フォームに2つの C1ComboBox を追加します。
2. 文字列コレクションエディタを使用して、最初の C1ComboBox に文字列 "ピッツバーグ" を追加します。
3. C1ComboBox プロパティウィンドウで SelectedItemChanged イベントをダブルクリックして、SelectedItemChanged
イベントのイベントハンドラを作成します。
4. SelectedIndexChanged イベントに次のコードを追加します。
Visual Basic でコードを書く場合
Visual Basic
Private Sub comboBox1_SelectedItemChanged(sender As Object, e As EventArgs)
c1ComboBox2.Items.Clear()
If c1ComboBox1.SelectedItem.ToString() = "ピッツバーグ" Then
c1ComboBox2.Items.Add("ピッツバーグはスチールシティおよびブリッジのシティという名前で知られていま
す。")
c1ComboBox2.Items.Add("ピッツバーグには446のブリッジがあります。")
Else
c1ComboBox2.Items.Add("ピッツバーグを選択しませんでした。")
End If
End Sub
C# でコードを書く場合
C#
private void comboBox1_SelectedItemChanged(object sender, EventArgs e)
{
c1ComboBox2.Items.Clear();
if (c1ComboBox1.SelectedItem.ToString() == "ピッツバーグ")
{
c1ComboBox2.Items.Add("ピッツバーグはスチールシティおよびブリッジのシティという名前で知られてい
ます。");
c1ComboBox2.Items.Add("ピッツバーグには446のブリッジがあります。");
}
else
{
c1ComboBox2.Items.Add("ピッツバーグを選択しませんでした。");
}
26
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
}
5. プロジェクトを実行し、最初の C1ComboBox で[ピッツバーグ]を選択します。
6. 2番目の C1ComboBox のドロップダウンボタンをクリックし、SelectedItemChanged イベントで追加した内容に基づい
てドロップダウンリストに項目が追加されていることを確認します。
SelectedIndexChanged イベントを使用して C1Combbox にデー
タを設定する
コンボボックスで特定のインデックスが選択されたときに C1ComboBox にデータを設定するには、次のよう
に、SelectedIndexChanged イベントを使用します。
1. フォームに2つの C1ComboBox を追加します。
2. 最初の C1ComboBox では、文字列コレクションエディタ
文字列コレクションエディタで次のように行単位で項目を追加します。
3. C1ComboBox プロパティウィンドウで SelectedIndexChanged イベントをダブルクリックし
て、SelectedIndexChanged イベントのイベントハンドラを作成します。
4. SelectedIndexChanged イベントに次のコードを追加します。
Visual Basic でコードを書く場合
Title Text
Private Sub comboBox1_SelectedIndexChanged(sender As Object, e As EventArgs)
c1ComboBox2.Items.Clear()
27
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
If c1ComboBox1.SelectedIndex.ToString() = "1" Then
c1ComboBox2.Items.Add("二番目の項目が選択されました。")
Else
c1ComboBox2.Items.Add("二番目の項目が選択されませんでした。")
End If
End Sub
C# でコードを書く場合
C#
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
c1ComboBox2.Items.Clear();
if (c1ComboBox1.SelectedIndex.ToString() == "1")
{
c1ComboBox2.Items.Add("二番目の項目が選択されました。");
}
else
{
c1ComboBox2.Items.Add("二番目の項目が選択されませんでした。");
}
}
4. プロジェクトを実行し、最初の C1ComboBox で、最初のインデックスまたは2番目の項目 "Orlando" を選択します。
5. 2番目の C1ComboBox のドロップダウンボタンをクリックし、SelectedIndexChanged イベントで追加した内容に基づ
いてドロップダウンリストに項目が追加されていることを確認します。
C1RangeSlider コントロールの概要
C1RangeSlider は、下限値スクロールボックスと上限値スクロールボックスを使用して数値データの範囲を選択できる単純な
コントロールです。これらのスクロールボックスは、範囲の開始値と終了値を定義します。範囲バーでスクロールボックスを左
(または下)にドラッグすると値が小さくなり、右(または上)にドラッグすると値が大きくなります。このコントロールのスクロール
ボックス値には、最小値と最大値があります。スクロールボックス値は、最小値より小さくすることはできず、また最大値より大
きくすることはできません。さらに、下限値は上限値より大きくすることはできず、その逆も同様です。
コントロールは、水平方向または垂直方向にすることができます。
C1RangeSlider の要素
28
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
フォームに C1RangeSlider コントロールを追加すると、完全に機能するスライダコントロールになります。このコントロールは
値の範囲を設定するための2つのスクロールボックスを持ち、それらのスクロールボックスが範囲バーの上を移動します。
C1RangeSlider の機能
このセクションでは、C1RangeSlider コントロールの主要な機能について説明します。
最大値と最小値
Maximum プロパティと Minimum プロパティを使用して、C1RangeSlider コントロールの範囲の上限と下限を設定できま
す。下限値スクロールボックスを Minimum より小さな値に設定することはできず、また上限値スクロールボックスを
Maximum より大きな値に設定することはできません。
デフォルトでは、Minimum は 0、Maximum は 100 に設定されています。
最大値と最小値は、コントロールの[プロパティ]
[プロパティ]ペインから Minimum プロパティと Maximum プロパティを使用するか、ま
たはコードを通して設定します。
VisualBasic
Me.c1RangeSlider1.Minimum = 10
Me.c1RangeSlider1.Maximum = 100
C#
this.c1RangeSlider1.Minimum = 10;
this.c1RangeSlider1.Maximum = 100;
方向
C1RangeSlider コントロールは、Orientation プロパティを使用して水平または垂直に表示できます。デフォルトでは、コント
ロールは水平方向になっています。
[プロパティ]ペインの Orientation プロパティを通して、またはコードを通して容易に方向を変更できます。
VisualBasic
29
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
Me.c1RangeSlider1.Orientation = Orientation.Vertical
C#
this.c1RangeSlider1.Orientation = Orientation.Vertical;
スクロールボックスの値と範囲
C1RangeSlider コントロールの範囲
範囲は、UpperValue プロパティと LowerValue プロパティの差を表します。この2つの値
は、コントロールの数値範囲の設定に使用する、移動可能なスクロールボックスにリンクされています。
スクロールボックス値の設定
スクロールボックス値は、プロパティペインで、またはコードから UpperValue プロパティと LowerValue プロパティを使用して
設定できます。
デフォルトでは、UpperValue プロパティは 100 に、LowerValue プロパティは 0 に設定されています。
VisualBasic
Me.c1RangeSlider1.LowerValue = 24
Me.c1RangeSlider1.UpperValue = 88
C#
this.c1RangeSlider1.LowerValue = 24;
this.c1RangeSlider1.UpperValue = 88;
C1RangeSlider の外観
30
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
背景画像、スクロールボックススタイル、および範囲バースタイルを調整して、C1RangeSlider コントロールの外観をカスタマ
イズできます。
背景画像
C1RangeSlider コントロールに背景画像を設定するには、次の手順を実行します。
1.
2.
3.
4.
5.
6.
7.
8.
ソリューションエクスプローラーで、プロジェクト名を右クリックし、[追加
[追加 >]]→[新規フォルダ]
[新規フォルダ]を選択します。
フォルダの名前を Resources に変更します。
目的の画像をユーザーのローカルプロジェクトの Resources フォルダに追加します。
ソリューションエクスプローラーで、[すべてのファイルを表示]
[すべてのファイルを表示](
)ボタンをクリックします。
Resources フォルダに保持されている画像を右クリックし、[プロジェクトに含める]
[プロジェクトに含める]を選択します。
C1RangeSlider コントロールを右クリックし、[プロパティ]
[プロパティ]を選択します。
[プロパティ]
[プロパティ]ペインで、[[Appearance]]ノードを展開します。
BackgroundImage プロパティの横にある省略符( )ボタンをクリックします。[リソースの選択]
[リソースの選択]ダイアログボックス
が表示されます。
9. [インポート]
[インポート]ボタンをクリックし、プロジェクトの Resources フォルダを参照します。
10. 画像を検索し、[[OK]]をクリックして、[リソースの選択]
[リソースの選択]ダイアログボックスを閉じます。
背景画像レイアウトの設定
1. [プロパティ]
[プロパティ]ペインで、BackgroundImageLayout プロパティに対応するドロップダウンをクリックします。
2. C1RangeSlider コントロールの背景画像に適したレイアウトを選択します。
バースタイル
各種のバースタイル
バースタイルオプションを通して、C1RangeSlider コントロールの外観を管理できます。
BackColor
31
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
設計時またはコードを使用して、C1RangeSlider のバーの背景色を変更できます。
設計時に背景色を変更するには、次の手順を実行します。
1.
2.
3.
4.
C1RangeSlider コントロールを右クリックし、[プロパティ]
[プロパティ]オプションを選択します。
[プロパティ]
[プロパティ]ペインで、[[Styles]]ノードを展開します。
BarStyle コレクションから BackColor プロパティを選択します。
BackColor プロパティに対応するドロップダウンメニューから、[[Lavender]]を選択します。
実行時に背景色を変更するには、以下のコードを FormLoad イベントに追加します。
VisualBasic
Me.C1RangeSlider1.Styles.BarStyle.BackColor = System.Drawing.Color.Lavender
C#
this.c1RangeSlider1.Styles.BarStyle.BackColor = System.Drawing.Color.Lavender;
BorderColor
設計時に境界線の色を変更するには、次の手順を実行します。
1.
2.
3.
4.
32
C1RangeSlider コントロールを右クリックし、[プロパティ]
[プロパティ]オプションを選択します。
[プロパティ]
[プロパティ]ペインで、[[Styles]]ノードを展開します。
BarStyle コレクションから BorderColor プロパティを選択します。
BorderColor プロパティに対応するドロップダウンメニューから、[[MediumBlue]]を選択します。
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
実行時に境界線の色を変更するには、以下のコードを FormLoad イベントに追加します。
VisualBasic
Me.C1RangeSlider1.Styles.BarStyle.BorderColor = System.Drawing.Color.MediumBlue
C#
this.c1RangeSlider1.Styles.BarStyle.BorderColor = System.Drawing.Color.MediumBlue;
プロジェクトを実行して、カスタマイズ結果を確認します。次の画像は、C1RangeSlider コントロール内で変更された背景色
と、範囲バーの境界線の色を示しています。
DisabledBackColor
DisabledBackColor プロパティは、C1RangeSlider コントロールが無効な場合に表示される範囲バーの背景色を設定しま
す。
設計時に DisabledBackColor を変更するには、次の手順を実行します。
1.
2.
3.
4.
33
C1RangeSlider コントロールを右クリックし、[プロパティ]
[プロパティ]オプションを選択します。
[プロパティ]
[プロパティ]ペインで、[[Styles]]ノードを展開します。
BarStyle コレクションから DisabledBackColor プロパティを選択します。
DisabledBackColor プロパティに対応するドロップダウンメニューから、[[ScrollBar]]を選択します。
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
実行時に DisabledBackColor を変更するには、以下のコードを FormLoad イベントに追加します。
VisualBasic
Me.C1RangeSlider1.Styles.BarStyle.DisabledBackColor =
System.Drawing.SystemColors.ScrollBar
C#
this.c1RangeSlider1.Styles.BarStyle.DisabledBackColor =
System.Drawing.SystemColors.ScrollBar;
DisabledBorderColor
DisabledBorderColor プロパティは、C1RangeSlider コントロールが無効な場合に表示される範囲バーの境界線の色を設定
します。
設計時に DisabledBorderColor を変更するには、次の手順を実行します。
1.
2.
3.
4.
34
C1RangeSlider コントロールを右クリックし、[プロパティ]
[プロパティ]オプションを選択します。
[プロパティ]
[プロパティ]ペインで、[[Styles]]ノードを展開します。
BarStyle コレクションから DisabledBorderColor プロパティを選択します。
DisabledBorderColor プロパティに対応するドロップダウンメニューから、[[Red]]を選択します。
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
実行時に DisabledBorderColor を変更するには、以下のコードを FormLoad イベントに追加します。
VisualBasic
Me.C1RangeSlider1.Styles.BarStyle.DisabledBorderColor = System.Drawing.Color.Red
C#
this.c1RangeSlider1.Styles.BarStyle.DisabledBorderColor = System.Drawing.Color.Red;
Enabled プロパティを False に設定し、プロジェクトを実行します。次の画像は、C1RangeSlider コントロール内で無効になっ
た背景色と、無効になった範囲バーの境界線の色を示しています。
スクロールボックススタイル
各種のスクロールボックススタイル
スクロールボックススタイルオプションを通して、C1RangeSlider コントロールの外観を管理できます。
背景色
設計時またはコードを使用して、C1RangeSlider のスクロールボックスの背景色を変更できます。
設計時に背景色を変更するには、次の手順を実行します。
1. C1RangeSlider コントロールを右クリックし、[プロパティ]
[プロパティ]オプションを選択します。
2. [プロパティ]
[プロパティ]ペインで、[[Styles]]ノードを展開します。
3. ThumbStyle コレクションから BackColor プロパティを選択します。
35
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
4. BackColor プロパティに対応するドロップダウンメニューから、[[Tan]]を選択します。
実行時に背景色を変更するには、以下のコードを FormLoad イベントに追加します。
VisualBasic
Me.C1RangeSlider1.Styles.ThumbStyle.BackColor = System.Drawing.Color.Tan
C#
this.c1RangeSlider1.Styles.ThumbStyle.BackColor = System.Drawing.Color.Tan;
境界線色
設計時またはコードを使用して、C1RangeSlider のスクロールボックスの境界線の色を変更できます。
設計時に背景色を変更するには、次の手順を実行します。
1.
2.
3.
4.
C1RangeSlider コントロールを右クリックし、[プロパティ]
[プロパティ]オプションを選択します。
[プロパティ]
[プロパティ]ペインで、[[Styles]]ノードを展開します。
ThumbStyle コレクションから BorderColor プロパティを選択します。
BorderColor プロパティに対応するドロップダウンメニューから、[[ActiveCaptionText]]を選択します。
実行時に境界線の色を変更するには、以下のコードを FormLoad イベントに追加します。
VisualBasic
Me.C1RangeSlider1.Styles.ThumbStyle.BorderColor =
System.Drawing.SystemColors.ActiveCaptionText
C#
this.c1RangeSlider1.Styles.ThumbStyle.BorderColor =
System.Drawing.SystemColors.ActiveCaptionText;
角の丸み
CorneRadius プロパティを使用して、C1RangeSlider コントロールのスクロールボックスの外観をカスタマイズできます。
CornerRadius が 0 に設定されたスクロールボックスは四角形です。スクロールボックスに丸みを持たせるには、角の半径を
大きくします。
C1RangeSlider スクロールボックスの角の丸みは、設計時またはコードを通して変更できます。
設計時にスクロールボックスの CornerRadius を変更するには、次の手順を実行します。
1.
2.
3.
4.
C1RangeSlider コントロールを右クリックし、[プロパティ]
[プロパティ]オプションを選択します。
[プロパティ]
[プロパティ]ペインで、[[Styles]]ノードを展開します。
ThumbStyle コレクションから CornerRadius プロパティを選択します。
CornerRadius に 4 を設定します。
実行時に角の丸みを変更するには、以下のコードを FormLoad イベントに追加します。
36
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
VisualBasic
Me.C1RangeSlider1.Styles.ThumbStyle.CornerRadius = 4
C#
this.c1RangeSlider1.Styles.ThumbStyle.CornerRadius = 4;
次の画像は、角の丸み 4 でカスタマイズされた C1RangeSlider コントロールのスクロールボックススタイルを示しています。
無効化時の背景色
DisabledBackColor プロパティは、C1RangeSlider コントロールが無効な場合に表示されるスクロールボックスの背景色を設
定します。
C1RangeSlider スクロールボックスの DisabledBackColor は、設計時またはコードを通して変更できます。
設計時に DisabledBackColor を変更するには、次の手順を実行します。
1.
2.
3.
4.
C1RangeSlider コントロールを右クリックし、[プロパティ]
[プロパティ]オプションを選択します。
[プロパティ]
[プロパティ]ペインで、[[Styles]]ノードを展開します。
ThumbStyle コレクションから DisabledBackColor プロパティを選択します。
DisabledBackColor プロパティに対応するドロップダウンメニューから、[[InactiveCaption]]を選択します。
実行時に DisabledBackColor を変更するには、以下のコードを FormLoad イベントに追加します。
VisualBasic
Me.C1RangeSlider1.Styles.ThumbStyle.DisabledBackColor =
System.Drawing.SystemColors.InactiveCaption
C#
this.c1RangeSlider1.Styles.ThumbStyle.DisabledBackColor =
System.Drawing.SystemColors.InactiveCaption;
無効化時の境界色
DisabledBorderColor プロパティは、C1RangeSlider コントロールが無効な場合に表示されるスクロールボックスの境界線
の色を設定します。
C1RangeSlider スクロールボックスの DisabledBorderColor は、設計時またはコードを通して変更できます。
設計時に DisabledBorderColor を変更するには、次の手順を実行します。
1.
2.
3.
4.
37
C1RangeSlider コントロールを右クリックし、[プロパティ]
[プロパティ]オプションを選択します。
[プロパティ]
[プロパティ]ペインで、[[Styles]]ノードを展開します。
ThumbStyle コレクションから DisabledBorderColor プロパティを選択します。
DisabledBorderColor プロパティに対応するドロップダウンメニューから、[[WindowFrame]]を選択します。
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
実行時に DisabledBorderColor を変更するには、以下のコードを FormLoad イベントに追加します。
VisualBasic
Me.C1RangeSlider1.Styles.ThumbStyle.DisabledBorderColor =
System.Drawing.SystemColors.WindowFrame
C#
this.c1RangeSlider1.Styles.ThumbStyle.DisabledBorderColor =
System.Drawing.SystemColors.WindowFrame;
次の画像は、無効化された C1RangeSlider コントロールのカスタマイズされたスクロールボックススタイルを示しています。
マウスポイント時の背景色
HoveredBackColor プロパティを使用して、マウスポイントされたスクロールボックスの背景色を設定できます。
C1RangeSlider スクロールボックスの HoveredBackColor は、設計時またはコードを通して変更できます。
設計時に HoveredBackColor を変更するには、次の手順を実行します。
1.
2.
3.
4.
C1RangeSlider コントロールを右クリックし、[プロパティ]
[プロパティ]オプションを選択します。
[プロパティ]
[プロパティ]ペインで、[[Styles]]ノードを展開します。
ThumbStyle コレクションから HoveredBackColor プロパティを選択します。
HoveredBackColor プロパティに対応するドロップダウンメニューから、[[ActiveCaption]]を選択します。
実行時に HoveredBackColor を変更するには、以下のコードを FormLoad イベントに追加します。
VisualBasic
Me.C1RangeSlider1.Styles.ThumbStyle.HoveredBackColor =
System.Drawing.SystemColors.ActiveCaption
C#
this.c1RangeSlider1.Styles.ThumbStyle.HoveredBackColor =
System.Drawing.SystemColors.ActiveCaption;
マウスポイント時の境界線色
HoveredBorderColor プロパティを使用して、マウスポイントされたスクロールボックスの境界色を設定できます。
C1RangeSlider スクロールボックスの HoveredBackColor は、設計時またはコードを通して変更できます。
設計時に HoveredBorderColor を変更するには、次の手順を実行します。
1. C1RangeSlider コントロールを右クリックし、[プロパティ]
[プロパティ]オプションを選択します。
38
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
2. [プロパティ]
[プロパティ]ペインで、[[Styles]]ノードを展開します。
3. ThumbStyle コレクションから HoveredBorderColor プロパティを選択します。
4. HoveredBorderColor プロパティに対応するドロップダウンメニューから、[[Blue]]を選択します。
実行時に HoveredBorderColor を変更するには、以下のコードを FormLoad イベントに追加します。
VisualBasic
Me.C1RangeSlider1.Styles.ThumbStyle.HoveredBorderColor = System.Drawing.Color.Blue
C#
this.c1RangeSlider1.Styles.ThumbStyle.HoveredBorderColor = System.Drawing.Color.Blue;
次の画像は、C1RangeSlider コントロールのスクロールボックススタイルをカスタマイズし、マウスポイントしたところを示してい
ます。
マウスクリック時の背景色
PressedBackColor プロパティを使用して、マウスクリックされたスクロールボックスの背景色を設定できます。
C1RangeSlider スクロールボックスの PressedBackColor は、設計時またはコードを通して変更できます。
設計時に PressedBackColor を変更するには、次の手順を実行します。
1.
2.
3.
4.
C1RangeSlider コントロールを右クリックし、[プロパティ]
[プロパティ]オプションを選択します。
[プロパティ]
[プロパティ]ペインで、[[Styles]]ノードを展開します。
ThumbStyle コレクションから PressedBackColor プロパティを選択します。
PressedBackColor プロパティに対応するドロップダウンメニューから、[[Gold]]を選択します。
実行時に PressedBackColor を変更するには、以下のコードを FormLoad イベントに追加します。
VisualBasic
Me.C1RangeSlider1.Styles.ThumbStyle.PressedBackColor = System.Drawing.Color.Gold
C#
this.c1RangeSlider1.Styles.ThumbStyle.PressedBackColor = System.Drawing.Color.Gold;
マウスクリック時の境界線色
PressedBorderColor プロパティを使用して、マウスクリックされたスクロールボックスの境界色を設定できます。
C1RangeSlider スクロールボックスの PressedBorderColor は、設計時またはコードを通して変更できます。
設計時に PressedBorderColor を変更するには、次の手順を実行します。
1. C1RangeSlider コントロールを右クリックし、[プロパティ]
[プロパティ]オプションを選択します。
39
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
2. [プロパティ]
[プロパティ]ペインで、[[Styles]]ノードを展開します。
3. ThumbStyle コレクションから PressedBorderColor プロパティを選択します。
4. PressedBorderColor プロパティに対応するドロップダウンメニューから、[[Orange]]を選択します。
実行時に PressedBorderColor を変更するには、以下のコードを FormLoad イベントに追加します。
VisualBasic
Me.C1RangeSlider1.Styles.ThumbStyle.PressedBorderColor = System.Drawing.Color.Orange
C#
this.c1RangeSlider1.Styles.ThumbStyle.PressedBorderColor =
System.Drawing.Color.Orange;
次の画像は、C1RangeSlider コントロールのスクロールボックススタイルをカスタマイズし、マウスクリックしたところを示してい
ます。 C1ColorPicker コントロールの概要
C1ColorPicker コントロールは、対話式の色選択インタフェースを提供する色入力エディタです。基本色を選択できるほか、洗
練されたプロフェッショナルな外観のアプリケーションを作成するために、C1ColorPicker に用意されたさまざまなオプションか
らカスタム色を定義することもできます。さらに
さらに C1ColorPicker は、ビジュアルスタイルやテーマもサポートしており、アプリ
ケーションの詳細なカスタマイズに役立ちます。
C1ColorPicker コントロールの要素
C1ColorPicker コントロールは、詳細なカスタマイズが可能な完全な色選択コントロールです。次の図は、C1ColorPicker に
あるドロップダウンボタンをクリックしたときのコントロールのインタフェースです。
40
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
ドロップダウンボタンの右側にある省略符を使用すると、カラーピッカーにある基本色を選択できます。
41
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
カスタム色を定義することもできます。それには、[カスタム色の定義]
[カスタム色の定義]ボタンをクリックし、カラーパレットでカスタム色を作成し
て、定義した色をカスタム色に追加します。
C1ColorPicker の操作
このトピックでは、Windows フォーム
フォームアプリケーションで C1ColorPicker を使用する方法について具体的に説明します。Visual Studio プロジェクトを設定し、実行時に
アプリケーションをカスタマイズする手順を示します。
1. Windows フォームプロジェクトを作成し、フォームに C1ColorPicker コントロールを追加します。
2. フォームに RichTextBox コントロールを追加します。RichTextBox の Text プロパティを TextColor に設定します。フォームは次の図のように表示されます。
3. C1ColorPicker の色を変更するには、 Color プロパティのパレットから要望の色を選択します。それでユーザーは、デフォールトでの透明色の代わりに任意の
色を設定することができます。
4. 次のコードを C1ColorPicker1_ValueChanged イベントハンドラに追加して、色が選択されたときにテキストの色を変更します。
VB
copyCode
Private Sub C1ColorPicker1_ValueChanged(sender As Object, e As EventArgs) Handles C1ColorPicker1.ValueChanged
RichTextBox1.SelectionColor = DirectCast(DirectCast(sender, C1ColorPicker).Value, Color)
End Sub
C#
copyCode
private void c1ColorPicker1_ValueChanged(object sender, EventArgs e)
42
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
{
richTextBox1.SelectionColor = (Color)c1ColorPicker1.Value;
}
5. アプリケーションを実行します。これで、C1ColorPicker のドロップダウンから色を選択して、RichTextBox コントロールのテキストの色を設定できます。次の図
は、テキストを赤色に設定しています。
C1ColorPicker へのビジュアルスタイルの適用
VisualStyle プロパティを使用して、C1ColorPicker コントロールにビジュアルスタイルを適用できます。C1ColorPicker コントロールの右上隅にあるスマートタグを使用して、カ
ラーピッカーに適用するビジュアルスタイルを選択できます。
スマートタグを使用してビジュアルスタイルを変更するには
次の手順を実行します。
1. C1ColorPicker コントロールを選択します。
2. スマートタグ( )をクリックして[C1ColorPicker のタスク]メニューを開きます。
3. ビジュアルスタイルのドロップダウン矢印をクリックし、C1ColorPicker コントロールに適用するビジュアルスタイルを選択します。
コードでビジュアルスタイルを変更するには
このコードスニペットは、「C1ColorPicker の操作」で作成したカラーピッカーアプリケーションからの引用です。
1. フォームに ComboBox コントロールを追加します。
2. アプリケーションに次のコード行を追加して、ComboBox のビジュアルスタイルを取得します。
VB
InitializeComponent()
ComboBox1.DataSource = [Enum].GetValues(GetType(VisualStyle))
C#
InitializeComponent();
comboBox1.DataSource = Enum.GetValues(typeof(VisualStyle));
3. comboBox1_SelectedIndexChanged イベントハンドラにコードを追加します。このコードは、コンボボックスに表示されたビジュアルスタイルのリストから 1 つが選択さ
れたときに、C1ColorPicker のビジュアルスタイルを更新します。
VB
copyCode
Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged
C1ColorPicker1.VisualStyle = DirectCast(ComboBox1.SelectedItem, VisualStyle)
End Sub
C#
copyCode
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
c1ColorPicker1.VisualStyle = (VisualStyle)comboBox1.SelectedItem;
}
4. アプリケーションを実行します。
これで、コンボボックスのドロップダウンからビジュアルスタイルを選択して、C1ColorPicker のビジュアルスタイルを設定できます。次の図は、この結果を示します。
43
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
C1FontPicker コントロールの概要
C1FontPicker コントロールは、ドロップダウンリストから目的のフォントを選択できるフォント選択コントロールで
す。C1FontPicker から 250 を超えるフォントを選択できます。さらに C1FontPicker は、ビジュアルスタイルやテーマの選択
もサポートしており、アプリケーションの詳細なカスタマイズに役立ちます。
C1FontPicker コントロールの要素
C1FontPicker コントロールはフォント選択コントロールです。次の図は、C1FontPicker のドロップダウンボタンをクリックした
ときのコントロールのインタフェースです。
この一覧を参照して、使用可能なフォントを確認することができます。
44
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
C1FontPicker の操作
このトピックでは、Windows フォーム
フォームアプリケーションで C1FontPicker を使用する方法について具体的に説明します。Visual Studio プロジェクトを設定し、実行時にアプリケーションをカスタマイズする手順を示します。
1. Windows フォームプロジェクトを作成し、フォームに C1FontPicker コントロールを追加します。
2. フォームに RichTextBox コントロールを追加します。RichTextBox の Text プロパティを TextFontStyle に設定します。フォームは次の図のように表示されます。
3. 次のコードを C1FontPicker1_ValueChanged イベントハンドラに追加して、フォントが選択されたときにテキストのフォントを変更します。
VB
copyCode
Private Sub C1FontPicker1_ValueChanged(sender As Object, e As EventArgs) Handles C1FontPicker1.ValueChanged
RichTextBox1.SelectionFont = New Font(DirectCast(sender, C1FontPicker).Value.ToString(), RichTextBox1.SelectionFont.Size, RichTextBox1.SelectionFont.Style)
End Sub
C#
copyCode
private void c1FontPicker1_ValueChanged(object sender, EventArgs e)
{
richTextBox1.SelectionFont = new Font(((C1FontPicker)sender).Value.ToString(), richTextBox1.SelectionFont.Size, richTextBox1.SelectionFont.Style);
}
4. アプリケーションを実行します。これで、C1FontPicker ドロップダウンからフォントを選択できます。次の図は、この結果を示します。
C1FontPicker にビジュアルスタイルの適用
C1FontPicker コントロールの右上隅にあるスマートタグを使用して、C1FontPicker のビジュアルスタイルを選択できます。
スマートタグを使用してビジュアルスタイルを変更するには
次の手順を実行します。
1. C1FontPicker コントロールを選択します。
2. スマートタグ( )をクリックして[C1FontPicker のタスク]メニューを開きます。
3. ビジュアルスタイルのドロップダウン矢印をクリックし、C1FontPicker コントロールに適用するビジュアルスタイルを選択します。
コードでビジュアルスタイルを変更するには
このコードスニペットは、「C1FontPicker の操作」で作成したフォントピッカーアプリケーションからの引用です。
1. フォームに ComboBox コントロールを追加します。
2. アプリケーションに次のコード行を追加して、ComboBox のビジュアルスタイルを取得します。
VB
InitializeComponent()
ComboBox2.DataSource = [Enum].GetValues(GetType(VisualStyle))
C#
InitializeComponent();
comboBox2.DataSource = Enum.GetValues(typeof(VisualStyle));
3. comboBox1_SelectedIndexChanged イベントハンドラにコードを追加します。このコードは、コンボボックスに表示されたビジュアルスタイルのリストから 1 つが選択さ
れたときに、C1FontPicker のビジュアルスタイルを更新します。
VB
copyCode
Private Sub ComboBox2_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox2.SelectedIndexChanged
C1FontPicker1.VisualStyle = DirectCast(ComboBox2.SelectedItem, VisualStyle)
End Sub
45
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
C#
copyCode
private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
{
c1FontPicker1.VisualStyle = (VisualStyle)comboBox2.SelectedItem;
}
4. アプリケーションを実行します。これで、コンボボックスのドロップダウンからビジュアルスタイルを選択して、C1FontPicker のビジュアルスタイルを設定できます。次の図
は、この結果を示します。
データ連結
C1Input コントロールは、非連結モードと連結モードの両方で機能します。連結モードでは、コントロールの Value がデータ
ソースフィールドに連結されます。
C1Input コントロールは .NET データソースへのデータ連結をサポートします。そのようなデータソースには、DataTable、
DataView、DataSet などの ADO.NET データソースオブジェクトがあります。
ADO.NET データソースオブジェクトの作成方法については、.NET Framework ドキュメントを参照してください。
C1Input コントロールをデータソースフィールドに連結するには、次の手順に従います。
1. データソースオブジェクトをコントロールの DataSource プロパティに割り当てます。
2. 次に、データソースオブジェクトのフィールドの1つをコントロールの DataField プロパティに割り当てます。
DataSource プロパティと DataField プロパティは、コードとデザイナのどちらでも設定できます。設計時には、
DataSource プロパティや DataField プロパティのコンボボックスに表示されるデータソースとフィールドのリストから、
データソースオブジェクトとフィールドを選択できます。
3. DataType プロパティを設定します。
コントロールをデータフィールドに連結すると、DataType プロパティは、そのフィールドのデータ型に自動的に設定され
ます。ほとんどの場合は、この設定をそのまま使用できます。ただし、場合によっては、コントロールとフィールドに異な
る型を指定する必要があります。たとえば、日付を含む文字列フィールドがある場合です。このような場合は、連結後
に DataType プロパティを設定します。次に、BindingFormatting/BindingParsing イベントを使用して、データが
データソースから書き込まれるとき、またはデータソースに保存されるときに、コントロールの DataType との間でデー
タを変換します。
DataSource プロパティと DataField プロパティは、コントロールの Value プロパティをデータソースフィールドに連結する際に
使用されます。Value プロパティは、C1Input コントロールのメインのプロパティです。このプロパティは、特定のデータ型の値
を保持して返します。また、DataBindings プロパティを使用して、他の WinForms コントロールと同様に、コントロールの他の
プロパティを他のデータソースとフィールドに自由に連結できます。この機能は C1Input 固有のものではなく、.NET
Framework のすべてのコントロールでサポートされています。
注意 : コントロールの値をフィールドに連結する際に、DataBindings の Value プロパティ以外のプロパティを使用しな
いでください。DataSource プロパティと DataField プロパティを使用するか、DataBindings の Value を使用してくださ
い。たとえば、あるフィールドに Text プロパティを連結することができても、その結果は、Value プロパティを連結した場
合とは異なります。
46
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
Value と Text:値の表示、検証、更新
:値の表示、検証、更新
Value プロパティは C1Input コントロールのメインのプロパティです。このプロパティは、特定の DataType の値を返したり受
け取る機能を持ちます。
コントロールが EditMode でない場合、そのコントロールの Text には、現在の Value が適切な書式で表示されます
(TextDetached プロパティが True に設定されている場合を除く)。詳細については、「データの書式設定」を参照してくださ
い。
TextDetached プロパティが False に設定され、コントロールが読み取り専用でない場合、入力フォーカスを受け取ったコント
ロールは、自動的に EditMode に切り替わります。入力フォーカスがあるとは、コントロールの入力ウィンドウがフォーカスを受
け取った状態です。編集モードでは、ユーザーがコントロールのテキストを編集しますが、編集が終了するまで Value は変更
されません。ユーザーが入力フォーカスを別の場所に移動するなどしてコントロールから離れようとすると、Value プロパティは
ユーザーによって入力された Text で更新されます。
Value の更新処理では、主に次の3つの操作が実行されます。
解析
Value プロパティには、コントロールの現在の DataType に基づく型があります。そのため、更新処理では、まず Text
文字列が解析され、それが正しい DataType に変換されます。必要な場合は、この時点でパターンマッチングや正規
表現などの文字列ベースの検証技術を使用して、入力されたテキストを検証できます。詳細については、「データの検
証」を参照してください。
検証
型付きの値が取得されると、PostValidation チェックが行われます。ここで、値を定義済みの値リスト、最大値、最小
値、および範囲と照らし合わせたり、PostValidating イベントを使用してプログラムで検証することができます。検証が
終了すると、新しい値が Value プロパティに割り当てられ、データソースが Value プロパティで更新されます。
更新
通常、Value の更新は、ユーザーが入力フォーカスをコントロールの外に移動したとき、またはコントロールの外でマウ
スをクリックしたときに行われます。ただし、これをプログラムで行うこともできます。それには、任意の時点で
UpdateValueWithCurrentText メソッドを呼び出します。
TextDetached プロパティを True に設定すると(デフォルトは False)、コントロールが特殊なモードになります。TextDetached
プロパティが True に設定されている場合は、Value と Text の間のリンクは無効になります。つまり、Value を変更しても Text
は更新されません。また、Text を変更し、コントロールから入力フォーカスを移動しても、Value は更新されません。Text プロ
パティは Value プロパティに依存しなくなります。このモードは、Text と Value の更新をすべてプログラムで制御する場合に便
利です。
データの書式設定
C1Input コントロールは、リッチ書式設定モデルをサポートしています。開発者は、コントロールのテキストの外観をほとんど
思いどおりにカスタマイズできます。書式設定の主な機能は、入力または格納されている Value の文字列表現 Text を表示
することです。
書式設定は FormatType プロパティによって制御されます(詳細は「型の書式設定」を参照)。書式タイプの列挙値は、コント
ロール内で書式設定されるデータを定義します。数値型と日時型の一部のオプションは、.NET 標準の書式指定子に対応しま
す。たとえば、StandardNumber や LongDate です(.NET Framework ドキュメントの「型の書式設定」を参照)。
CustomFormat は FormatType オプションの1つです。これは、.NET Framework のドキュメントで定義されているカスタム書
式指定子に対応します。指定子自体は CustomFormat プロパティで指定されます。たとえば、CustomFormat プロパティが
"##,###.###" に設定されている場合は、整数部分が最大5桁、小数点以下が3桁の数値が生成されます。詳細については、
「カスタム書式指定子」を参照してください。
UseEvent は特殊な FormatType オプションです。これを指定すると、書式が Formatting イベントによって決定されます。
Null 値(System.DBNull)を表す方法は、NullText プロパティと EmptyAsNull プロパティによって制御されます。
書式設定された値を表示する際に、先頭または末尾にあるスペースを削除した方がよい場合があります。それに
は、TrimStart プロパティまたは TrimEnd プロパティを使用します。
47
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
表示用(コントロールが読み取り専用であるか、編集モードにない場合)と編集モード用の2つの書式を指定できます。編集
モードの詳細については、「Value と Text:値の表示、検証、更新」を参照してください。
この2つの書式設定モードは、DisplayFormat プロパティと EditFormat プロパティによって制御されます。デフォルトでは、
これらはどちらもコントロールのプロパティを継承します。特定のモードで FormatType、CustomFormat などの特定の書式設
定プロパティ(FormatInfo クラスを参照)を割り当てるには、DisplayFormat ノードまたは EditFormat ノードを展開
し、(Inherit) フラグを変更して、目的のサブプロパティを設定します。
型の書式設定
デフォルト(FormatType プロパティが DefaultFormat に設定)では、現在の DataType の標準の ToString() メソッドを型
付きの Value に適用することで Text が取得されます。また、この型に型コンバータがある場合は、
TypeConverter.ToString() が使用されます。他の変換と同様に、この変換では、CultureInfo プロパティから提供される地域
設定が使用されます。
書式設定は FormatType プロパティによって制御されます。この列挙値により、値を書式設定する方法が定義されます。数値
型と日時型の一部のオプションは、標準の書式指定子に対応します。たとえば、StandardNumber や LongDate です。詳細
については、.NET Framework ドキュメントの「型の書式設定」を参照してください。CustomFormat はオプションの1つです。こ
れは、.NET Framework のドキュメントで定義されているカスタム書式指定子に対応します。指定子自体は CustomFormat
プロパティで指定されます。また、イベント内のコードで書式設定するためのオプションもあります。次の表で、使用できるオプ
ションについて説明します。
書式設定オプション
説明
DefaultFormat
TypeConverter.ConvertToString() を使用して変換を行います。
UseEvent
Formatting イベント(または Parsing イベント)内のユーザーコードによって変換が行われます。
CustomFormat
書式設定には、CustomFormat プロパティに割り当てられた文字列が使用されます。解析に
は、NumberStyle、DateTimeStyle、CustomFormat の各プロパティが使用されます。
GeneralNumber
固定小数点または指数表記を使用して、数値が最も簡単な小数形式に変換されます。
Currency
数値は、金額を表す文字列に変換されます。
FixedPoint
数値は、「-ddd.ddd…」形式の文字列に変換されます。「d」はそれぞれ数字(0~9)を示します。数
値が負である場合は、文字列の先頭にマイナス記号(-)が付加されます。数値の精度は、指定され
たカルチャの NumberFormatInfo.NumberDecimalDigits プロパティによって決定されます。
StandardNumber
数値は、「-d,ddd,ddd.ddd…」形式の文字列に変換されます。「d」はそれぞれ数字(0~9)を示しま
す。数値が負である場合は、文字列の先頭にマイナス記号(-)が付加されます。小数点の左側に
は、3桁ごとに桁区切りが挿入されます。数値の精度は、指定されたカルチャの
NumberFormatInfo.NumberDecimalDigits プロパティによって決定されます。
Percent
数値は、NumberFormatInfo.PercentNegativePattern プロパティまたは
NumberFormatInfo.PercentPositivePattern プロパティの定義に従って、パーセンテージを表す文
字列に変換されます。数値が負の場合、生成される文字列は PercentNegativePattern によって定
義され、先頭にマイナス記号(-)が付加されます。変換された数値は 100 倍されて、パーセンテージ
で示されます。NumberFormatInfo によって指定されるデフォルトの数値精度が使用されます。
Scientific
数値は、「-d.ddd…E+ddd」または「-d.ddd…e+ddd」形式の文字列に変換されます。「d」はそれぞれ
数字(0~9)を示します。数値が負である場合は、文字列の先頭にマイナス記号(-)が付加されま
す。小数点の前には、常に1桁の数字が置かれます。指数は、常にプラス記号(+)またはマイナス記
号(-)と3桁以上の数字で表されます。この形式でない場合は、必要に応じて指数に0が付加されま
す。
RoundTrip
ラウンドトリップ指定子を指定すると、文字列に変換された数値が再度同じ数値に解析されます。こ
の書式は、浮動小数点型でのみサポートされています。
48
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
Integer
数値が十進法の数値を含む文字列として表示されます。この書式は、整数型でのみサポートされて
います。
Hexadecimal
数値が 16 進数字の文字列に変換されます。この書式は、整数型でのみサポートされています。
YesNo
ブール値に変換され、False の場合は No、True の場合は Yes と表示されます。
TrueFalse
ブール値に変換され、True または False と表示されます。
OnOff
ブール値に変換され、False の場合は Off、True の場合は On と表示されます。
GeneralDate
標準の日付/時刻パターン(短い書式)です。
LongDate
指定された CultureInfo の長い日付書式に従って、日付が表示されます。
MediumDate
中間の長さの日付書式(dd-MMM-yy)で日付が表示されます。
ShortDate
指定された CultureInfo の短い日付書式で日付が表示されます。
LongTime
ロケールの長い時刻書式(時間、分、秒を含む)で時刻が表示されます。
MediumTime
時間と分から成る 12 時間形式と AM/PM 指定子で、時刻が表示されます(hh:mm tt)。
ShortTime
24 時間形式で時刻が表示されます(「17:45」など)。
LongDateShortTime 指定された CultureInfo の書式に従って、日付が長い書式で、また時刻が短い書式で表示されま
す。
LongDateLongTime
指定された CultureInfo の書式に従って、日付が長い書式で、また時刻が長い書式で表示されま
す。
ShortDateShortTime 指定された CultureInfo の書式に従って、日付が短い書式で、また時刻が短い書式で表示されま
す。
ShortDateLongTime 指定された CultureInfo の書式に従って、日付が短い書式で、また時刻が長い書式で表示されま
す。
MonthAndDay
日付の月と日が表示されます。
DateAndTimeGMT
日付/時刻がグリニッジ標準時(GMT)として書式設定されます。
DateTimeSortable
日付/時刻がソート可能なインデックスとして書式設定されます。
GMTSortable
日付/時刻が GMT でソート可能なインデックスとして書式設定されます。
LongDateTimeGMT
日付/時刻が長い書式で GMT として書式設定されます。
YearAndMonth
日付が年と月として書式設定されます。
カスタム書式指定子
FormatType を CustomFormat に設定すると、.NET Framework のドキュメントで定義されているカスタム書式指定子が使
用されます。指定子自体は CustomFormat プロパティで指定されます。CustomFormat 文字列では、次の表に示すように、
特殊文字を使用して数値型と日時型の書式を定義します。詳細については、.NET Framework ドキュメントの「カスタム数値書
式指定文字列」と「日付と時刻の書式指定文字列」を参照してください。
数値カスタム書式指定子
次の表で、数値カスタム書式指定子について説明します。
49
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
書式指定
子
名前
説明
0
0のプレースホル 書式設定する値の中の書式文字列の「0」の位
ダ
置に数字がある場合、その数字は出力文字列
にそのままコピーされます。小数点より前にある
左端の「0」の位置と、小数点より後にある右端
の「0」の位置により、出力文字列に常に表示さ
れる桁の範囲が決定されます。
#
桁のプレースホ
ルダ
書式設定する値の中の書式文字列の「#」の位
置に数字がある場合、その数字は出力文字列
にそのままコピーされます。その位置に数字が
ない場合、出力文字列内のその位置には何も
置かれません。文字列内の数字が「0」だけで
あっても、有効数字でない「0」は、この指定子の
位置に表示されないことに注意してください。表
示される数値の有効数字である文字「0」は表示
されます。
.
小数点
書式文字列内の最初の文字「.」により、書式設
定された値での小数点の位置が決定されます。
その他の「.」は無視されます。小数点として実際
に使用される文字は、書式設定を制御する
NumberFormatInfo オブジェクトの
NumberDecimalSeparator プロパティによって
決定されます。
,
桁区切りと数値
のスケーリング
文字「,」には2つの機能があります。小数点より
左の書式文字列内の桁のプレースホルダ(0ま
たは #)の間に文字「,」がある場合は、小数点よ
り左の数値に3桁ごとに桁区切りが挿入されま
す。出力文字列で桁区切りとして実際に使用さ
れる文字は、書式設定を制御する現在の
NumberFormatInfo オブジェクトの
NumberGroupSeparator プロパティによって決
定されます。書式文字列内の小数点のすぐ左に
「,」文字が1つ以上ある場合は、書式設定される
前に、「,」文字の数の回数だけ数値が 1000 で
割られます。たとえば、書式文字列「0,,」の場
合、100,000,000 は単純に「100」と表されます。
「,」文字を使用してスケーリングを示すと、書式
設定された数値に桁区切りが含まれなくなりま
す。このため、1,000,000 で数値をスケーリング
し、桁区切りも挿入するには、書式文字列
「#,##0,,」を使用します。
%
パーセンテージ
のプレースホル
ダ
書式文字列に「%」の文字があると、書式設定さ
れる前に、数値が 100 倍されます。書式文字列
内の「%」の位置に応じて、適切な記号が数値に
挿入されます。パーセンテージを表すために使
用される文字は、現在の NumberFormatInfo ク
ラスによって異なります。
E0 E+0 E- 指数表記
0 e0 e+0
50
書式文字列内に「E」、「E+」、「E-」、「e」、「e+」、
または「e-」の文字列があり、直後に1つ以上の
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
e-0
文字「0」が続く場合、数値は指数表記を使用し
て書式設定され、数値と指数の間に「E」または
「e」が挿入されます。指数表記を示す文字に続
く文字「0」の数により、出力される指数の最小の
桁数が決定されます。「E+」と「e+」は、プラス記
号(+)またはマイナス記号(-)が常に指数の前
に置かれることを示します。「E」、「E-」、「e」、ま
たは「e-」は、符号が負の指数の前にのみ置か
れることを示します。
'ABC'
"ABC"
リテラル文字列
一重引用符または二重引用符で囲まれた文字
は、出力文字列にそのままコピーされ、書式設
定には影響しません。
;
セクション区切り
文字「;」は、書式文字列内の正の数値、負の数
値、および数値0のセクションを区切るために使
用されます。
True|False ブール値の書式
2つのブール値 True と False を「|」で区切った
文字列表現です。文字列「True」と「False」は、2
つのブール値を示す他の文字列に置き換えるこ
とができます。
その他
その他の文字は、出力文字列の同じ位置にそ
のままコピーされます。
その他のすべて
の文字
サンプル
次の表に、数値カスタム書式指定子の使用例を示します。
CustomFormat
値
出力
#####
123
123
00000
123
00123
(###) ### - ####
1234567890
(123) 456 – 7890
#.##
1.2
1.2
0.00
1.2
1.20
00.00
1.2
01.20
#,#
1234567890
1,234,567,890
#,,
1234567890
1235
#,,,
1234567890
1
#,##0,,
1234567890
1,235
#0.##%
0.086
8.6%
0.###E+0
86000
8.6E+4
0.###E+000
86000
8.6E+004
0.###E-000
86000
8.6E004
[##-##-##]
123456
[12-34-56]
##;(##)
1234
1234
51
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
##;(##)
-1234
(1234)
日時カスタム書式指定子
次の表で、日時カスタム書式指定子について説明します。
書式指定子 説明
d
現在の日を 1~31 で表示します。日が1桁(1~9)の場合は、1桁で表
示されます。他のカスタム書式文字列と組み合わせないで、「d」だけ
を使用した場合は、標準の短い日付パターンを表す書式指定子として
解釈されることに注意してください。書式指定子「d」が他のカスタム書
式指定子と組み合わせて渡された場合は、カスタム書式指定子として
解釈されます。
dd
現在の日を 1~31 で表示します。日が1桁(1~9)の場合は、前に「0」
が付加されます(01~09)。
ddd
指定された DateTime オブジェクトの曜日の名前を省略形で表示しま
す。有効な書式プロバイダ(IFormatProvider と必須のプロパティが実
装された Null ではないオブジェクト)が提供されていない場合は、
DateTimeFormat オブジェクトの AbbreviatedDayNames プロパティ
と、現在のスレッドに関連付けられた現在のカルチャが使用されます。
提供されている場合は、特定の書式プロバイダの
AbbreviatedDayNames プロパティが使用されます。
dddd(さら
に任意の個
数の文字
「d」を付加
できる)
指定された DateTime オブジェクトの曜日の名前を完全形で表示しま
す。有効な書式プロバイダ(IFormatProvider と必須のプロパティが実
装された Null ではないオブジェクト)が提供されていない場合は、
DateTimeFormat オブジェクトの DayNames プロパティと、現在のス
レッドに関連付けられた現在のカルチャが使用されます。提供されて
いる場合は、特定の書式プロバイダの DayNames プロパティが使用
されます。
f
秒の小数部分を1桁で表示します。他のカスタム書式文字列と組み合
わせないで、「f」だけを使用した場合は、完全なパターン(長い日付と
短い時刻)を表す書式指定子として解釈されることに注意してくださ
い。書式指定子「f」が他のカスタム書式指定子と組み合わせて渡され
た場合は、カスタム書式指定子として解釈されます。
ff
秒の小数部分を2桁で表示します。
fff
秒の小数部分を3桁で表示します。
ffff
秒の小数部分を4桁で表示します。
fffff
秒の小数部分を5桁で表示します。
ffffff
秒の小数部分を6桁で表示します。
fffffff
秒の小数部分を7桁で表示します。
g または gg
(さらに任意
の個数の文
字「g」を付
加できる)
指定された DateTime オブジェクトの年号(A.D. など)を表示します。
有効な書式プロバイダ(IFormatProvider と必須のプロパティが実装さ
れた Null ではないオブジェクト)が提供されていない場合は、
DateTimeFormat オブジェクトに関連付けられたカレンダーと、現在の
スレッドに関連付けられた現在のカルチャから、年号が決定されます。
52
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
他のカスタム書式文字列と組み合わせないで、「g」だけを使用した場
合は、標準の汎用書式指定子として解釈されることに注意してくださ
い。書式指定子「g」が他のカスタム書式指定子と組み合わせて渡され
た場合は、カスタム書式指定子として解釈されます。
h
指定された DateTime オブジェクトの時間を 1 ~ 12 の範囲で表示し
ます。この時間は、午前0時または午後0時からの経過時間を時間単
位で表します。午前0時と午後0時はどちらも「12」と表示されます。こ
の書式だけを使用すると、午前と午後を区別できません。時間が1桁
(1~9)の場合は、1桁で表示されます。表示される時間は切り上げら
れません。たとえば、DateTime が 5:43 の場合は、5が返されます。
hh, hh(さら
に任意の個
数の文字
「h」を付加
できる)
指定された DateTime オブジェクトの時間を 1 ~ 12 の範囲で表示し
ます。この時間は、午前0時または午後0時からの経過時間を時間単
位で表します。午前0時と午後0時はどちらも「12」と表示されます。こ
の書式だけを使用すると、午前と午後を区別できません。時間が1桁
(1~9)の場合は、前に「0」が付加されて書式設定されます(01~
09)。
H
指定された DateTime オブジェクトの時間を 0 ~ 23 の範囲で表示し
ます。この時間は、午前0時からの経過時間を時間単位で表します。
午前0時は「0」と表示されます。時間が1桁(0~9)の場合は、1桁で
表示されます。
HH, HH(さ
らに任意の
個数の文字
「H」を付加
できる)
指定された DateTime オブジェクトの時間を 0 ~ 23 の範囲で表示し
ます。この時間は、午前0時からの経過時間を時間単位で表します。
午前0時は「0」と表示されます。時間が1桁(0~9)の場合は、前に
「0」が付加されて書式設定されます(01~09)。
m
指定された DateTime オブジェクトの分を 0 ~ 59 の範囲で表示しま
す。これは、直前の時間ちょうどからの経過時間を分単位で表します。
分が1桁(0~9)の場合は、1桁で表示されます。他のカスタム書式文
字列と組み合わせないで、「m」だけを使用した場合は、標準の月日パ
ターンを表す書式指定子として解釈されることに注意してください。書
式指定子「m」が他のカスタム書式指定子と組み合わせて渡された場
合は、カスタム書式指定子として解釈されます。
mm, mm
(さらに任意
の個数の文
字「m」を付
加できる)
指定された DateTime オブジェクトの分を 0 ~ 59 の範囲で表示しま
す。これは、直前の時間ちょうどからの経過時間を分単位で表します。
分が1桁(0~9)の場合は、前に「0」が付加されて書式設定されます
(01~09)。
M
現在の月を 1~12 で表示します。月が1桁(1~9)の場合は、1桁で表
示されます。他のカスタム書式文字列と組み合わせないで、「M」だけ
を使用した場合は、標準の月日パターンを表す書式指定子として解釈
されることに注意してください。書式指定子「M」が他のカスタム書式指
定子と組み合わせて渡された場合は、カスタム書式指定子として解釈
されます。
MM
現在の月を 1~12 で表示します。月が1桁(1~9)の場合は、前に「0」
が付加されて書式設定されます(01~09)。
MMM
指定された DateTime オブジェクトの月の名前を省略形で表示しま
す。有効な書式プロバイダ(IFormatProvider と必須のプロパティが実
装された Null ではないオブジェクト)が提供されていない場合は、
53
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
DateTimeFormat オブジェクトの AbbreviatedMonthNames プロパ
ティと、現在のスレッドに関連付けられた現在のカルチャが使用されま
す。提供されている場合は、特定の書式プロバイダの
AbbreviatedMonthNames プロパティが使用されます。
MMMM
指定された DateTime オブジェクトの月の名前を完全形で表示しま
す。有効な書式プロバイダ(IFormatProvider と必須のプロパティが実
装された Null ではないオブジェクト)が提供されていない場合は、
DateTimeFormat オブジェクトの MonthNames プロパティと、現在の
スレッドに関連付けられた現在のカルチャが使用されます。提供され
ている場合は、特定の書式プロバイダの MonthNames プロパティが
使用されます。
s
指定された DateTime オブジェクトの秒を 0 ~ 59 の範囲で表示しま
す。これは、直前の分ちょうどからの経過時間を秒単位で表します。秒
が1桁(0~9)の場合は、1桁で表示されます。他のカスタム書式文字
列と組み合わせないで、「s」だけを使用した場合は、標準のソート可能
な日付/時刻パターンを表す書式指定子として解釈されることに注意し
てください。書式指定子「s」が他のカスタム書式指定子と組み合わせ
て渡された場合は、カスタム書式指定子として解釈されます。
ss, ss(さら
に任意の個
数の文字
「s」を付加
できる)
指定された DateTime オブジェクトの秒を 0 ~ 59 の範囲で表示しま
す。これは、直前の分ちょうどからの経過時間を秒単位で表します。秒
が1桁(0~9)の場合は、前に「0」が付加されて書式設定されます(01
~09)。
t
指定された DateTime オブジェクトの AM/PM 指定子の最初の文字を
表示します。有効な書式プロバイダ(IFormatProvider と必須のプロパ
ティが実装された Null ではないオブジェクト)が提供されていない場合
は、DateTimeFormat オブジェクトの AMDesignator(または
PMDesignator)プロパティと、現在のスレッドに関連付けられた現在
のカルチャが使用されます。提供されている場合は、特定の
IFormatProvider の AMDesignator(または PMDesignator)プロパ
ティが使用されます。指定された DateTime の経過時間が 12 より小
さい場合は、AMDesignator が使用されます。それ以外の場合は、
PMDesignator が使用されます。他のカスタム書式文字列と組み合わ
せないで、「t」だけを使用した場合は、標準の長い時刻パターンを表す
書式指定子として解釈されることに注意してください。書式指定子「t」
が他のカスタム書式指定子と組み合わせて渡された場合は、カスタム
書式指定子として解釈されます。
tt, tt(さらに
任意の個数
の文字「t」
を付加でき
る)
指定された DateTime オブジェクトの AM/PM 指定子を表示します。
有効な書式プロバイダ(IFormatProvider と必須のプロパティが実装さ
れた Null ではないオブジェクト)が提供されていない場合は、
DateTimeFormat オブジェクトの AMDesignator(または
PMDesignator)プロパティと、現在のスレッドに関連付けられた現在
のカルチャが使用されます。提供されている場合は、特定の
IFormatProvider の AMDesignator(または PMDesignator)プロパ
ティが使用されます。指定された DateTime の経過時間が 12 より小
さい場合は、AMDesignator が使用されます。それ以外の場合は、
PMDesignator が使用されます。
y
指定された DateTime オブジェクトの年を最大2桁の数値で表示しま
す。年の最初の2桁は省略されます。年が1桁(1~9)の場合は、1桁
54
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
で表示されます。
yy
指定された DateTime オブジェクトの年を最大2桁の数値で表示しま
す。年の最初の2桁は省略されます。年が1桁(1~9)の場合は、前に
「0」が付加されて書式設定されます(01~09)。
yyyy
指定された DateTime オブジェクトの年を世紀と共に表示します。その
年を表す数値が4桁未満の場合は、必要に応じて前に「0」が付加さ
れ、4桁で表示されます。
z
システムの現在のタイムゾーンのタイムゾーンオフセットを時間だけで
表示します。オフセットには常にプラス記号(+)またはマイナス記号
(-)が表示されます。つまり、グリニッジ標準時(GMT)より早い場合は
「+」、遅い場合は「-」が表示されます。また、0は「+0」と表示されま
す。値の範囲は、–12 ~ +13 です。オフセットが1桁(0~9)の場合、
数字は1桁で表示され、前に適切な符号が付きます。タイムゾーンの
設定は「+X」または「–X」のように指定されます。「X」は、GMT からの
オフセット(時間単位)です。表示されるオフセットは夏時間による変更
を受けます。
zz
システムの現在のタイムゾーンのタイムゾーンオフセットを時間だけで
表示します。オフセットには常にプラス記号(+)またはマイナス記号
(-)が表示されます。つまり、グリニッジ標準時(GMT)より早い場合は
「+」、遅い場合は「-」が表示されます。また、0は「+00」と表示されま
す。値の範囲は、–12 ~ +13 です。オフセットが1桁(0~9)の場合、
数字の前に「0」が付加され、さらに適切な符号が付きます。タイムゾー
ンの設定は「+X」または「–X」のように指定されます。「X」は、GMT か
らのオフセット(時間単位)です。表示されるオフセットは夏時間による
変更を受けます。
zzz, zzz(さ
らに任意の
個数の文字
「z」を付加
できる)
システムの現在のタイムゾーンのタイムゾーンオフセットを時間と分で
表示します。オフセットには常にプラス記号(+)またはマイナス記号
(-)が表示されます。つまり、グリニッジ標準時(GMT)より早い場合は
「+」、遅い場合は「-」が表示されます。また、0は「+00:00」と表示され
ます。値の範囲は、–12 ~ +13 です。オフセットが1桁(0~9)の場
合、数字の前に「0」が付加され、さらに適切な符号が付きます。タイム
ゾーンの設定は「+X」または「–X」のように指定されます。「X」は、GMT
からのオフセット(時間単位)です。表示されるオフセットは夏時間によ
る変更を受けます。
:
時刻区切り文字。
/
日付区切り文字。
"
引用符で囲まれた文字列。エスケープ文字(/)に続く2つの引用符で
囲まれた文字列のリテラル値を表示します。
'
引用符で囲まれた文字列。2つの一重引用符(')で囲まれた文字列の
リテラル値を表示します。
%c
c は標準の書式文字です。その書式文字に関連付けられた標準書式
パターンを表示します。
\c
c は任意の文字です。エスケープ文字は、次の文字をリテラルとして表
示します。ここでエスケープ文字を使用してエスケープシーケンス(改
行を 示す「\n」など)を作成することはできません。
|
セクション区切りです。カスタムの日時書式には、「|」で区切って複数
55
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
の書式文字列を入れることができます。この機能により、日時値の入
力形式を複数指定できます。値の書式設定や、日時から文字列への
変換には、最初の書式文字列だけが使用されます。文字列から日時
に逆変換(解析)する場合は、その文字列が有効な形式であれば認識
(解析)されます。
その他の文 その他の文字は、出力文字列にリテラルとして直接書き込まれます。
字
サンプル
次の表に、日時カスタム書式指定子の使用例を示します。
書式指定子
現在のカルチャ
タイムゾーン
出力
d, M
en-US
GMT
12, 4
d, M
es-MX
GMT
12, 4
d MMMM
en-US
GMT
12 April
d MMMM
es-MX
GMT
12 Abril
dddd MMMM yy gg
en-US
GMT
Thursday April 01 A.D.
dddd MMMM yy gg
es-MX
GMT
Jueves Abril 01 DC
h , m: s
En-US
GMT
6 , 13: 12
hh,mm:ss
En-US
GMT
06,13:12
HH-mm-ss-tt
En-US
GMT
06-13-12-AM
hh:mm, G\MT z
En-US
GMT
05:13 GMT +0
hh:mm, G\MT z
En-US
GMT +10:00
05:13 GMT +10
hh:mm, G\MT zzz
En-US
GMT
05:13 GMT +00:00
hh:mm, G\MT zzz
En-US
GMT –9:00
05:13 GMT -09:00
データの解析(更新)
C1Input コントロールでエンドユーザーによって変更されたデータは、文字列から型付きの Value に変換されます。文字列表
現のデータを変換することを解析と言います。これは、書式設定とは逆の処理です。解析は、ParseInfo プロパティによって制
御されます。ParseInfo プロパティから ParseInfo クラスにアクセスできます。このクラスには、解析のさまざまな側面を制御す
るサブプロパティがあります。
解析は書式設定の逆の処理なので、通常は、書式設定の指定に従って実行されるデフォルトの解析方法を変更する必要は
ありません。デフォルトでは、書式設定に使用される書式設定プロパティ値が解析にも使用されます。ただし、コントロールによ
る解析方法を変更することもできます。それには、ParseInfo プロパティを展開して (Inherit) フラグを変更し、必要なプロパ
ティ値を設定します。
また、ParseInfo クラスには、解析の詳細を設定するために NumberStyle と DateTimeStyle の2つのフラグプロパティがあ
ります。これらのフラグを使用して、数値データや日時データの入力文字列でホワイトスペースや特殊文字を使用できるかどう
かを指定できます。詳細については、リファレンスセクションで ParseInfo クラスを参照してください。
FormatType プロパティを UseEvent に設定し、Parsing イベントに解析アクションを処理するためのコードを記述すること
で、解析を完全にカスタマイズできます。
メモ: DateTimeInput モードおよび NumericInput モードでは解析が実行されません。これらのモードでは、値が既
56
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
に型付け(日付/時刻または数値)されているため、文字列を解析して値を取得する必要はありません。
カルチャ(地域)設定
地域設定は、C1Input のほぼすべての機能に影響します。データの書式設定、解析、検証、およびマスク入力は、文字列の
比較、数値書式/日時書式、および特殊文字(小数点文字など)に対するカルチャ設定に従って実行されます。カルチャ固有の
設定については、.NET Framework ドキュメントにある CultureInfo クラスの説明を参照してください。
C1Input コントロールでは、以下のプロパティを使用して CultureInfo を定義します。
Culture プロパティ
Culture プロパティは、コントロールによって使用されるカルチャを定義します。これは、設計時に使用できるカルチャ
のリストと1つの整数 ID から成ります。デフォルトは Current Culture です。これは、コントロールを含むアプリケー
ションによって使用されている現在のカルチャです。
CultureInfo プロパティ
CultureInfo プロパティには、すべての設定(指定されたカルチャ ID に対応する CultureInfo オブジェクト)が格納され
ています。
UserCultureOverride プロパティ
ブール値プロパティ UserCultureOverride を使用して、エンドユーザーの地域設定でカルチャ設定を上書きできま
す。
CultureInfo 内の設定は、すべてプログラムで変更できます。そのために、C1Input コントロールでは、起動時または Culture
プロパティの設定時に、CultureInfoSetup イベントが発生します。このイベントを処理することで、CultureInfo のさまざまな
設定を調整できます。たとえば、アプリケーションの必要に応じて、CultureInfo.DateTimeFormat.FirstDayOfWeek を設定でき
ます。
C1Input のほとんどの機能に影響する設定として、ほかにブール値プロパティ CaseSensitive があります(ただし、カルチャと
は関係ない)。大文字小文字の区別は、文字列の比較に使用されます。C1Input コントロールには、すべての処理において
大文字小文字をデフォルトで区別するかどうかを定義する CaseSensitive プロパティがあります。特定の機能を制御するほと
んどのクラス(ParseInfo、PreValidation、PostValidation など)で、この設定を上書きできます。
編集マスク
C1Input コントロールは、マスク入力をサポートしています。マスク入力を行うには、EditMask プロパティにマスク文字列を設
定します。編集マスクを定義する場合、コントロール内の各文字位置は特殊プレースホルダまたはリテラル文字のいずれかに
マップします。リテラル文字(リテラル)は、使用されているデータの型を視覚的に示します。たとえば、「(412)-123-4567」など
の電話番号の局番を囲むかっことダッシュは、リテラルです。編集マスク機能により、無効な文字がコントロールに入力されな
いようにして、ユーザーインタフェースにさらに強化することができます。
マスク入力を有効にするには、EditMask プロパティに、プレースホルダとリテラルから成るマスク文字列を設定します。下の表
に、使用できるプレースホルダを示します。また、CustomPlaceholders コレクションを使用して、独自のプレースホルダを定
義できます。
単純な場合は EditMask を設定するだけで十分ですが、MaskInfo プロパティのサブプロパティを使用して、マスク入力のさま
ざまな重要な機能を制御することもできます。そのサブプロパティの1つが前述の CustomPlaceholders コレクションです。次
の表に、その他のサブプロパティを示します。
プロパティ
説明
AutoTabWhenFilled True の場合は、マスクが入力されると、フォーカスが次のコントロールに自動的に移動します。デ
フォルト:False
PromptChar
57
空の位置に表示される文字です。デフォルト:'_'
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
SaveBlanks
True の場合、格納されたテキストには、空白位置に StoredEmptyChar が入ります。デフォル
ト:False
SaveLiterals
True の場合は(デフォルト)、格納されたテキスト(StoredContent)にリテラルが含まれます。
ShowLiterals
ユーザーが入力している間のリテラルの表示方法を制御する列挙型です。リテラルを常に表示す
る、表示しない、または入力中にリテラルの位置に到達したときに表示するように設定できます。
SkipOptional
True の場合は(デフォルト)、文字を入力できる最初の位置までオプションのマスク位置が自動的に
スキップされます。
StoredEmptyChar
空のマスク位置に格納される文字です。デフォルト:'_'
マスクに関連するプロパティのリストについては、MaskInfo クラスを参照してください。
ShowLiterals プロパティが FreeFormatEntry に設定されている場合は、オプションのマスク位置を完全に省略できます。つ
まり、そこを空白文字で埋める必要はありません。
C1Input で使用されるマスク文字(プレースホルダ)は、Microsoft Access や Microsoft ActiveX MaskedEdit コントロールで
使用されるものに似ています。また、CustomPlaceholders コレクションを使用して、他のプレースホルダを定義することもでき
ます。
プレース
説明
ホルダ
#
桁のプレースホルダを指定すると、その位置に英数字またはプラス/マイナス記号を入力できます(入力はオプ
ション)。
.
小数点プレースホルダ。実際に使用される文字は、国際化設定で小数点のプレースホルダとして指定された文字
です。この文字は、リテラルとしてマスク処理されます。
,
千単位の桁区切りです。実際に使用される文字は、国際化設定で桁区切りとして指定された文字です。この文字
は、リテラルとしてマスク処理されます。
:
時刻区切り文字。実際に使用される文字は、国際化設定で時刻区切りとして指定された文字です。この文字は、
リテラルとしてマスク処理されます。
/
日付区切り文字。実際に使用される文字は、国際化設定で日付区切りとして指定された文字です。この文字は、
リテラルとしてマスク処理されます。
\
マスク文字列内の次の文字をリテラルとして処理します。これを使用して、#、&、A、… などの文字をマスクに入れ
ることができます。この文字は、リテラルとしてマスク処理されます。
&
文字のプレースホルダです(入力は必須)。任意の文字を入力できます。
>
後続のすべての文字を大文字に変換します。
<
後続のすべての文字を小文字に変換します。
~
前出の < または > を無効にします。
!
編集マスク内の後続のオプションの文字が左から右ではなく、右から左に表示されます。このため、空白は左に
表示されます。
^
前出の ! 文字を無効にします。^ の後では、空白は右に表示されます。
A
英数字のプレースホルダです(入力は必須)。たとえば、a – z、A – Z、0–9です。
a
英数字のプレースホルダです(入力はオプション)。
0
桁のプレースホルダです(入力は必須)。たとえば、0–9です。
9
桁のプレースホルダです(入力はオプション)。
58
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
C
文字またはスペースのプレースホルダです(入力はオプション)。任意の文字を入力できます。
L
英文字のプレースホルダです(入力は必須)。たとえば、a – z、A – Z です。
?
英文字のプレースホルダです(入力はオプション)。
\n
改行を示すリテラルです。Multiline プロパティが True に設定されている場合に適用できます。
"
二重引用符で囲まれた文字列内のすべての文字はリテラルと見なされます。
リテラル
その他のすべての記号はリテラルとして、つまりそのまま表示されます。
例
前述の電話番号 (412) 123-4567 を表示するには、マスク EditMask を (000) 000-0000 に設定します。
データの検証
C1Input コントロールでは、入力文字列自体(PreValidation)と、ユーザーによって入力された型付きの値
(PostValidation)の両方を検証できます。検証処理の詳細については、「Value と Text:値の表示、検証、更新」を参照してく
ださい。
入力文字列の検証(
入力文字列の検証(PreValidation))
入力文字列の検証は、PreValidation プロパティによって制御されます。PreValidation クラスを使用して、ワイルドカードパ
ターン文字列または正規表現文字列のいずれかの検証規則を指定できます。すべての規則(文字列)は、PatternString プ
ロパティで指定します。複数の規則(サブ文字列)を指定する場合は、それらを ItemSeparator で区切ります(デフォルトは
「|」)。
PreValidation プロパティは、PatternString がどのように解釈されるかを定義します。
値
説明
ExactList
PatternString には、有効な値が ItemSeparator で区切って指定されます。
PreValidatingEvent 検証には PreValidating イベントが使用されます。
ワイルドカード
PatternString には、ワイルドカードパターンが ItemSeparator で区切って
指定されます。パターン内では、?(任意の1文字)、#(任意の1桁)、*(0個
以上の文字)、\(エスケープ)の各文字が予約されています。また、
PreValidation プロパティを使用して、カスタムパターン文字を定義すること
もできます。
RegexPattern
PatternString には、正規表現が指定されます。
PreValidatingEvent オプションを使用すると、PreValidating イベントのコードで入力文字列を検証できます。詳細について
は、イベントの説明を参照してください。
RegexPattern オプションを指定して正規表現を使用する場合は、RegexOptions プロパティを使用して、正規表現の機能を
変更するフラグを設定する必要がある場合があります。
メモ: PreValidation(入力文字列の検証)は、DateTimeInput と NumericInput の各モードでは使用されません。
DateTimeInput モードまたは NumericInput モードが有効な場合は、PostValidation(型付きの値の検証)が実行され
ます。
サンプル
以下の例で、Validation プロパティと PatternString プロパティがどのように解釈されるかを説明します。
59
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
Validation プロパティが ExactList に、PatternString プロパティが「red|green|blue」に設定されている場合:入力文字
列は、許可されている3つの値、つまり「red」、「green」、「blue」のいずれかである必要があります。CaseSensitive が
False に設定されている場合は、大文字小文字が区別されません。
Validation プロパティが Wildcards に、PatternString プロパティが「(412)*」に設定されている場合:入力文字列の先
頭は「(412)」である必要があります。CaseSensitive が False に設定されている場合は、大文字小文字が区別されませ
ん。
Validation プロパティが RegexPattern に、PatternString が「[0-9]*」に設定されている場合:入力文字列は1桁以上
の数値です。
型付きの値の検証(
型付きの値の検証(PostValidation))
PostValidation を使用すると、ユーザーによって入力された型付きの Value を検証できます。
PostValidation クラスは次の機能を備えています。
この値が、Values プロパティで指定された、定義済みの値リストにあるいずれかの値と一致するかどうかを確認できま
す。
値をテストして、それが最小値未満でないか、または最大値を超えていないかどうかを確認できます。つまり、値が範
囲内にあるかどうかを確認できます。
有効な値の範囲を複数指定することもできます。範囲は Intervals プロパティで定義します。このプロパティで、各範囲
の最小値と最大値、それらの最小値や最大値を使用するか無視するか、および最小値と最大値も範囲に入れるかどう
かを指定します。
ValuesExcluded プロパティを使用して、いくつかの値を除外することができます。
PostValidating イベントで、プログラムによる検証を実行できます。
宣言による検証とプログラムによる検証を区別するには、PostValidation プロパティの2つの値 ValuesAndIntervals と
PostValidatingEvent を使用します。PostValidatingEvent を指定すると、値/範囲の自動検証が無効になります。イベントコー
ドと値/範囲の検証を組み合わせるには、イベントコードから ValidateValuesAndIntervals メソッドを呼び出します。
日時値の編集
C1TextBox では、DateTimeInput モードという特殊な編集モードを使用できます。このモードでは、日付/時刻の値を簡単に
編集できます。このモードを有効にするには、DataType プロパティを DateTime に、DateTimeInput プロパティを True(デ
フォルト)に設定します。DateTimeInput モードでは、現在選択されている日付フィールドまたは時刻フィールド(年、月、日な
ど)が強調表示され、それを個別に編集できます。LongDate 形式の月や曜日など、文字列形式で表すように書式設定された
フィールドでは、キーボードで数値を入力すると自動的に文字列表現が更新されます。上/下矢印キーやマウスホイールを使
用して、現在のフィールドの値を増減できます。
次に、日時の入力を制御するその他のプロパティを示します。
プロパティ
説明
MinShortYear
先頭に0を付けなくても入力できる最小の年です
(DateTimeInput が True に設定されている場
合)。たとえば、MinShortYear が 300(デフォル
ト)に設定されている場合、200 を入力することは
できません(無視されます)。一方、400 は西暦
0400 年と解釈されます。このプロパティの値に関
係なく、0200 は西暦 0200 年と解釈されます。
CurrentTimeZone このプロパティはデフォルトで True です。これ
は、日時値は不変で、タイムゾーンに合わせて調
整されないことを意味します。このプロパティが
60
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
False に設定された場合、ユーザーに表示される
Text と、格納されている基底の Value は異なる
値になります。格納されている Value
は、GMTOffset プロパティによって定義されるタ
イムゾーンに属しています。このプロパティは、グ
リニッジ標準時に対する基本タイムゾーンのオフ
セットを時間と分で指定します。ユーザーに表示さ
れる Text は、ユーザーのコンピュータ設定によっ
て定義されるローカルタイムゾーンに属していま
す。値を表示したり、ユーザーによって入力された
値を解析するとき、C1Input は、その値を時差に
合わせて調整します。
日時の値をより簡単に編集するには、専用の C1DateEdit コントロールを使用します。C1TextBox の機能に加えて、ドロップ
ダウンカレンダーとアップ/ダウンボタン(スピードボタン)もサポートされています。アップ/ダウンボタンを使用すると、現在選択
されている日時フィールドの値を増減できます。
数値の編集
C1TextBox では、NumericInput モードという特殊な編集モードを使用できます。このモードでは、数値を簡単に編集できま
す。このモードを有効にするには、NumericInput プロパティを True(デフォルト)に、DataType を数値データ型(Byte、
UInt16、UInt32、UInt64、SByte、Int16、Int32、Int64、Decimal、Single、Double)のいずれかに設定します。NumericInput
モードでは、電卓に似た入力方法で数値を編集できます。数字、+/- 符号だけを受け付けます。データ型と書式によっては、
小数点と指数も使用できます。その他のアルファベットなどの文字は無視されます。Single 型と Double 型の値の
NumericInput モードでは、特殊なファンクションキーが認識されます。たとえば、F9(符号の変更)、F2(負の無限大)、F3(正
の無限大)、および F4(NaN - 数値以外)が認識されます。
数値をより簡単に編集するには、専用の C1NumericEdit コントロールを使用します。C1TextBox の機能に加えて、ドロップダ
ウン電卓とアップ/ダウンボタン(スピードボタン)もサポートされています。アップ/ダウンボタンを使用すると、指定した
Increment だけ値を増減できます。
ドロップダウンボタンとインクリメントボタン
日時や数値を編集するための専用の C1Input コントロールとして C1DateEdit コントロールと C1NumericEdit コントロール
があります。ドロップダウンボタンやインクリメント/デクリメントボタン(アップ/ダウンボタン)をサポートしています。ボタンの表
示/非表示は、ShowDropDownButton プロパティと ShowUpDownButtons プロパティによって制御されます。
ドロップダウンの配置とコントロールからの距離を制御するには、DropDownAlign プロパティと GapHeight プロパティを使
用します。ドロップダウンをプログラムで開くまたは閉じるには、OpenDropDown メソッドと CloseDropDown メソッドを使用
します。ドロップダウンを開くまたは閉じると、DropDownOpened イベントまたは DropDownClosed イベントが発生します。
DropDownOpened イベントを使用すると、ドロップダウンを表示する前に、ドロップダウンのプロパティ(多くは Calendar のカ
レンダープロパティ)を調整できます。DroppedDown プロパティを使用すると、ドロップダウンが開かれているかどうかを確認
できます。
C1DateEdit コントロール
C1DateEdit コントロールは、アップ/ダウンボタンとドロップダウンカレンダーをサポートしています。
DateTimeInput プロパティが True に設定されている場合、アップ/ダウンボタンが機能します。このボタンを使用して、現在
選択されている日時フィールドの値を増減できます(「日時値の編集」を参照)。
ドロップダウンカレンダーのオブジェクトモデルは、標準の MonthCalendar コントロール
(System.Windows.Forms.MonthCalendar)と同じで、その外観もほとんど同じです。ただし、ドロップダウンカレンダーには、
[クリア]ボタン、[今日]ボタン、および2つの年移動ボタンが追加されています。
61
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
ボタンの表示/非表示は、ShowClearButton プロパティと ShowTodayButton プロパティで制御されます。これらのプロパ
ティと他のすべてのカレンダープロパティは、デザイナと Calendar オブジェクトのコードの両方で使用できます。カレンダーを
開く際にプログラムでカレンダープロパティを変更するには、カレンダーを表示する前に DropDownOpened イベントを使用
します。
C1NumericEdit コントロール
C1NumericEdit コントロールは、アップ/ダウン(スピン)ボタンとドロップダウン電卓をサポートしています。
アップ/ダウンボタンを使用すると、Increment プロパティで指定した量(デフォルトは1)だけ、Value が増減します。
ドロップダウン電卓は Windows の標準の電卓に似ています。ユーザーは、コントロールから離れることなく計算を実行できま
す。
カスタムドロップダウン
C1Input は、強力なカスタムドロップダウン機能を備えています。この機能を使用して、C1Input の標準のドロップダウンカレ
ンダーやドロップダウン電卓以外に、必要なドロップダウンエディタを作成できます。ドロップダウンエディタは、プロジェクト内
のフォームとしてビジュアルに作成できます。
カスタムドロップダウンエディタを作成するには、C1DropDownControl を使用します。このコントロールクラスは C1TextBox
から派生され、カスタムドロップダウン機能およびアップ/ダウンボタンを追加します。
コントロールにドロップダウンエディタを作成するには、次の手順に従います。
1. C1.Win.C1Input.DropDownForm から派生されたフォームをプロジェクトに追加し、C1DropDownControl の
DropDownFormClassName プロパティでフォームのクラス名を選択します。
2. DropDownForm から派生されたフォームで、必要に応じて C1DropDownControl の Value プロパティを設定できま
す(DropDownForm.OwnerControl プロパティを使用してコントロールオブジェクトを取得)。フォームを閉じる際
に、PostChanges イベントで Value プロパティを設定することもできます。
カスタムドロップダウンフォームで使用できるオプションの詳細については、「DropDownForm クラスリファレンス」を参照してく
ださい。カスタムドロップダウン機能の一般的な使用例については、C:\Documents and Settings\<ユーザー名>\My
Documents\ComponentOne Samples ディレクトリ(デフォルトのインストール場所)も参照してください。
ドロップダウン機能を備えたカスタムコントロールを作成する必要がある場合は、C1DropDownControl からカスタムコント
ロールクラスを派生し、その C1DropDownControl.DefaultDropDownFormClassName プロパティをオーバーライドしま
す。
プログラムによる書式設定、解析、検証
標準の書式指定子とカスタム書式指定子で十分でない場合は、Formatting イベントのコードで値を書式設定できます。それ
には、FormatType プロパティを UseEvent に設定します(「データの書式設定」を参照)。書式設定コードでは、C1Input の
標準の書式設定をヘルパーなどの目的で使用できます。それには、Format メソッドを呼び出します。
また、Parsing イベントのイベントコードで解析を実行できます。それには、FormatType プロパティを UseEvent に設定しま
す。必要に応じて、ParseInfo のメソッド Parse、ParseFixed、ParseFloat、ParseInteger、ParseBoolean、および
ParseDateTime を使用して、コード内で C1Input の標準の解析ルーチンを使用できます。
MaskInfo クラスには、編集マスクの管理に便利なメソッドがあります。
ユーザーによって現在入力されているテキストと Value プロパティを同期させる必要がある場合
は、UpdateValueWithCurrentText メソッドを呼び出します。通常は、コントロールからフォーカスが移動すると、自動的に同
期します。ただし、必要に応じて、このメソッドを呼び出して Value を強制的に更新することもできます。Value の更新時には、
入力テキストが解析および検証され、Value プロパティが更新されます(「Value と Text:値の表示、検証、更新」を参照)。ま
た、Value を変更せず、最初の2つの処理、つまり解析と検証を実行することもできます。それには、ParseContent メソッドと
CheckValidationResult メソッドを使用します。
62
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
エラー処理
データ入力フォームでは、エラー処理が非常に重要です。C1Input では、以下のトピックにリストされているようなさまざまな種
類のエラー状態を完全に制御できます。
データエラー
ADO.NET や C1DataObjects などの WinForms データソースには、データソース自体またはプログラマによってデータ内の論
理エラーを検出するための機能が用意されています。エラーを検出するには、RowError プロパティを設定する
か、SetColumnError メソッド(C1DataObjects の場合は SetFieldError)を呼び出します。C1Input の論理行エラーまたは論
理列エラーを表示するには、System.Windows.Form.ErrorProvider コンポーネントを使用します。
論理列エラーを表示するには、ErrorProvider コンポーネントを他のコントロールと使用する場合と同様に C1Input コントロー
ルと共に使用します。
C1DbNavigator コントロールの行エラーを表示するには、ErrorProvider プロパティを ErrorProvider コンポーネントに設定
します。現在の行にエラーがある場合は、C1DbNavigator によって RowError のツールチップテキストと共にエラーアイコンが
表示されます。
データ表示における不正な書式
通常はアプリケーション内で回避されるとは言え、データベースや他のデータソースから取得したデータが、C1Input コント
ロールで定義された書式や編集マスクと一致せず、不正な書式を持つということはあり得ます。このような場合、コントロール
は、その値を正しい書式で表示できません。C1Input コントロールには、このような問題に対処するためのデフォルトの動作
が用意されていますが、ユーザーにデータが無効であることを通知することもできます。それには、ErrorProvider プロパティ
(C1Label コントロールの ErrorProvider)を使用します。このプロパティに ErrorProvider コンポーネントを設定すると、無効
なデータ(正しく書式設定されず、コントロールに表示できないデータ)があった場合に、この ErrorProvider コンポーネントに
よってエラーが示されます。 このコンポーネントは、エラーが検出されると、ErrorProvider.SetControl メソッドを呼び出します。
その前に、C1Input が FormatError イベントを発生します。このイベントで、エラーメッセージ(ErrorProvider のツールチップ
テキスト)をカスタマイズするなどのアクションを実行できます。
ユーザー入力エラー
C1Input が入力値の解析または検証時にエラーを検出すると、ValidationError イベントが発生します。デフォルトでは、次
にエラーメッセージが表示されます。このデフォルトの動作は、さまざまな方法で変更およびカスタマイズできます。
C1Input コントロールには、エラー処理に影響する設定を含む ErrorInfo プロパティ(ErrorInfo クラスのプロパティ)がありま
す。
プロパティ
説明
BeepOnError
True の場合、コントロールは、エラーを通知するビープ音を鳴らします。デフォ
ルト:False
CanLoseFocus
True の場合、コントロールは、エラーに関係なくフォーカスを失うことができま
す。このプロパティはデフォルトで False です。つまり、コントロールは、エラー
が解決されるまでフォーカスを持ったままです。ただし、ErrorAction を
SetValueOnError または ResetValue に設定すると、コントロールの値をリセッ
トすることにより、エラーの後にコントロールを離れることができます。
ErrorAction
エラーの発生時にコントロールの値に対して実行するアクションを指定する列
挙値です。ErrorAction が None(デフォルト)に設定されている場合、Value
は変更されず、更新に失敗する前の値のままになります。ErrorAction が
SetValueOnError に設定されている場合、コントロールの Value は、
63
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
ErrorInfo クラスの ValueOnError プロパティで指定された値に設定されま
す。ErrorAction が ResetValue に設定されている場合、コントロールの
Value は、コントロールが編集モードに入る直前の値に設定されます。
ErrorAction プロパティを ThrowException に設定すると、実行が中断され、
例外 ValidationException が生成されます。
ErrorMessage
標準のメッセージボックスや例外に表示されるエラーメッセージです。
ErrorMessageCaption
エラーメッセージボックスのタイトルバーに表示するテキストです。
ErrorProvider
コントロールのエラー状態を示すために使用される ErrorProvider オブジェクト
を取得または設定します。
ShowErrorMessage
True の場合は(デフォルト)、標準のエラーメッセージが表示されます。
ValueOnError
ErrorAction が SetValueOnError に設定されている場合に、コントロールのリ
セットに使用される値です。
ValueOnErrorIsDbNull ValueOnError を DBNull に設定するために使用されるブール値プロパティで
す(設計時のみ必要)。
これ以外にも、編集マスクエラー(MaskInfo.ErrorMessage)、解析(ParseInfo.ErrorMessage)、事前/事後検証
(PreValidation.ErrorMessage、PostValidation.ErrorMessage)などのアクションに対して ErrorInfo.ErrorMessage を指
定できます。これらのサブオブジェクトのいずれかで、特別なエラーメッセージが指定されていない場合は、コントロールの
ErrorInfo.ErrorMessage が適用されます。メッセージボックスを表示する代わりに、ErrorProvider アイコンを使用してエラーを
示すことができます。それには、ErrorProvider を ErrorProvider コンポーネントに、ShowErrorMessage を False に設定しま
す。
上に示したプロパティをコントロールの ErrorInfo オブジェクトで設定すると、そのコントロールのすべてのエラー処理に影響し
ます。それらのプロパティの値をプログラムでカスタマイズして、特定のエラーが発生したときにエラーを処理できます。それに
は、ErrorInfo 引数を ValidationError イベントに渡します。ValidationError に渡される ErrorInfo 引数は、コントロールの
ErrorInfo とそのすべてのプロパティのコピーです。このコピーは独立しています。つまり、現在のエラーの ErrorInfo イベント
引数のプロパティを変更しても、コントロールの ErrorInfo 設定には影響しません。ValidationError イベントの ErrorInfo プロ
パティを設定して、エラーの処理方法を指定します。たとえば、標準のエラーメッセージを表示する代わりに独自のメッセージを
表示するには、ShowErrorMessage プロパティを False に設定します。また、ValueOnError を変更したり(ErrorAction を
SetValueOnError に設定)、ErrorMessage を変更することができます。コントロールの ErrorMessage のプロパティではなく、
ValidationError イベントに渡される ErrorInfo 引数のプロパティを設定する必要があることに注意してください。
ValidationError イベントの後に、イベントの ErrorInfo 引数で指定されたとおりにエラー処理が実行されます。ErrorAction が
ThrowException に設定されている場合は、ErrorMessage テキストを使用して例外が生成されます。BeepOnError が True
に設定されている場合は、警告音が鳴ります。ShowErrorMessage が True に設定されている場合は、標準のエラーメッセー
ジボックスに ErrorMessage テキストが表示されます。その後、ErrorAction で指定されている場合は、コントロールの値が変
更されます。フォーカスをコントロールの外に移動しようとして検証が発生した場合、別のコントロールにフォーカスを移動でき
るか、それとも移動がキャンセルされるかは、CanLoseFocus の設定に依存します。ErrorProvider プロパティが ErrorProvider
コンポーネントに設定されている場合は、そのコンポーネントを使用して、問題があるコントロールの近くにエラーアイコンと
ErrorMessage ツールチップが表示されます(ErrorProvider.SetError が呼び出される)。
イベントコードを使用してプログラムで解析または検証を行い、エラー状態でイベントを終了する(イベントの Succeeded 引数
を False に設定)場合は、イベントに渡された ErrorInfo 引数のプロパティを設定することで、エラーの内容とその処理方法を
記述できます。この引数は、PreValidating、Parsing、PostValidating の各イベントに提供されます。この引数の初期値は、
コントロールの ErrorInfo プロパティから取得されます。イベントで変更した ErrorInfo 引数は、次に ValidationError イベント
に渡されます。前に説明したように、このイベントでもさらに引数を変更できます。
NULL と空の値の処理
適切なツールがないと、NULL 値(DBNull)の処理は困難です。C1Input には Null を処理するための柔軟な規則が用意され
ているため、事実上どのような状況でもこの問題をプログラムで解決できます。
64
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
NULL と空の値の表示
コントロールが編集モードにない場合や読み取り専用である場合、Null 値は NullText プロパティに従って表示されます。こ
のプロパティは、DisplayFormat で上書きできます。EmptyAsNull プロパティが True に設定されている場合は(デフォルト
は False)、空の文字列にも同じ NullText 文字列が表示されます。EmptyAsNull プロパティも EmptyAsNull で上書きできま
す。編集モードでは、DisplayFormat ではなく、EditFormat オブジェクトの NullText プロパティと EmptyAsNull プロパティが
適用されます。
編集モードで EditMask をアクティブにすると、Null 値と空の文字列がそれぞれの場所に空のマスクとしてリテラルと共に表
示され、その他の場所にはプロンプト文字が表示されます。
DateTimeInput プロパティを True に設定して日時の値を編集する場合、Null 値は空のコントロールとして表されます。ユー
ザーがキーボードやマウスクリックを使用して編集を開始すると、コントロールはすぐに Null 以外の値になります。つまり、コ
ントロールに最後に割り当てられた Null 以外の値や今日の日付になります。
プログラムで書式設定する場合(FormatType を UseEvent に設定した場合)、Formatting イベントは Null 以外の値に対し
てのみ呼び出されます。
NULL と空の値の入力
編集マスクモードではない場合、または DateTimeInput を True に設定した日時の編集ではない場合、ユーザーは次のい
ずれかの方法で Null 値を入力できます。
コントロールのテキストが NullText の場合、結果の値は Null になります。この実際の NullText 値は NullText で決
定されます。NullText との比較では、CaseSensitive プロパティの設定に関係なく、大文字小文字が区別されます。
C1TextBox.EmptyAsNull プロパティが True に設定されている場合は(デフォルトは False)、コントロールをクリアして
空の文字列を入力すると、結果の値が Null になります。
プログラムを使用して解析している場合は、Parsing イベントで DBNull 値を返すことができます。
上のように、ユーザーが空の文字列や NullText を入力して Null 値を入力すると、入力文字列の検証と解析がスキップされま
す(「入力文字列の検証(PreValidation)」と「データの解析(更新)」を参照)。ただし、他の場合と同様に、PostValidation は
実行されます(「PostValidation(型付きの値の検証)」を参照)。
65
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
C1Input の外観のカスタマイズ
C1Input は、簡単にカスタマイズできるように設計されています。各 C1Input コントロールのデフォルトの外観を自由に変更す
ることができます。C1Input には、入力ボックスで使用できる多数のプロパティスタイル、および Windows XP と Office 2007
用の組み込みテーマが用意されています。
ビジュアルスタイル
C1Input には、System、Office2007Blue、Office2007Black、Office2007Silver、Office2010Blue、Office2010Black、
Office2010Silver の7つのテーマが組み込まれています。
C1Input コントロールで VisualStyle プロパティを設定する
と、C1TextBox、C1Label、C1DbNavigator、C1DropDownControl、C1DateEdit(ドロップダウンカレンダーを含
む)、C1NumericEdit(ドロップダウン電卓を含む)、および C1Button の描画に使用されるグラデーションと境界線を制御で
きます。
ビジュアルスタイルを使用して C1Input コントロールの外観をカスタマイズするには、VisualStyle プロパティを
Custom、Office2007Black、Office2007Blue、Office2007Silver、System、Office2010Blue、Office2010Black、または
Office2010Silver に設定します。このプロパティは、デザイナまたはコードで設定できます。次の表で、各ビジュアルスタイル
について説明します。
ビジュアルスタイ
説明
ル
Custom
ビジュアルスタイルなし(通常のスタイルと外観のプロパ
ティを使用)。
Office2007Black Office2007 Black の配色に合わせます。
Office2007Blue
Office2007 Blue の配色に合わせます。
Office2007Silver Office2007 Silver の配色に合わせます。
System
現在のシステム設定に合わせます。
Office2010Blue
Office2010 Blue の配色に合わせます。
Office2010Black Office2010 Black の配色に合わせます。
Office2010Silver Office2010 Silver の配色に合わせます。
Office2010Black Style matches Office2010 Black color scheme.
Office2010Silver Style matches Office2010 Silver color scheme.
デザイナの使用
[プロパティ]ウィンドウで VisualStyle プロパティを探
し、Custom、Office2007Black、Office2007Blue、Office2007Silver、System、Office2010Blue、Office2010Black、ま
たは Office2010Silver に設定します。この例では、C1TextBox コントロールの VisualStyle プロパティが Office2007Blue
に設定されます。
66
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
コードエディタの使用
Form_Load イベントにコードを追加して、VisualStyle プロパティを
Custom、Office2007Black、Office2007Blue、Office2007Silver、または System に設定します。次のコードは、
C1TextBox コントロールの VisualStyle プロパティを Office2007Blue に設定しています。
Visual Basic コードの書き方
Visual Basic
Me.C1TextBox1.VisualStyle = C1.Win.C1Input.VisualStyle.Office2007Blue
C# コードの書き方
C#
this.c1TextBox1.VisualStyle = C1.Win.C1Input.VisualStyle.Office2007Blue;
Custom ビジュアルスタイル
ビジュアルスタイルは適用されません。
C1TextBox
C1CheckBox
C1Label
C1DbNavigator
C1DropDownControl
C1DateEdit
67
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
C1NumericEdit
C1Button
C1ComboBox
注意:説明のために2つ
のComboBoxが表示さ
れています。
C1RangeSlider
C1SplitButton
System ビジュアルスタイル
現在のシステム設定。
C1TextBox
C1CheckBox
C1Label
C1DbNavigator
68
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
C1DropDownControl
C1DateEdit
C1NumericEdit
C1Button
C1ComboBox
注意:説明のために2つ
のComboBoxが表示さ
れています。
C1RangeSlider
C1SplitButton
Office2007Black ビジュアルスタイル
Office 2007 の黒の配色。
C1TextBox
C1CheckBox
C1Label
69
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
C1DbNavigator
C1DropDownControl
C1DateEdit
C1NumericEdit
C1Button
C1ComboBox
注意:説明のために2つ
のComboBoxが表示さ
れています。
C1RangeSlider
C1SplitButton
Office2007Blue ビジュアルスタイル
Office 2007 の青の配色。
C1TextBox
70
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
C1CheckBox
C1Label
C1DbNavigator
C1DropDownControl
C1DateEdit
C1NumericEdit
C1Button
C1ComboBox
注意:説明のために2つ
のComboBoxが表示さ
れています。
C1RangeSlider
C1SplitButton
71
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
Office2007Silver ビジュアルスタイル
Office 2007 のシルバーの配色。
C1TextBox
C1CheckBox
C1Label
C1DbNavigator
C1DropDownControl
C1DateEdit
C1NumericEdit
C1Button
C1ComboBox
注意:説明のために2つ
のComboBoxが表示さ
れています。
72
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
C1RangeSlider
C1SplitButton
Office2010Blue ビジュアルスタイル
Office 2010 の青の配色。
C1TextBox
C1CheckBox
C1Label
C1DbNavigator
C1DropDownControl
C1DateEdit
C1NumericEdit
C1Button
C1ComboBox
73
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
注意:説明のために2つ
のComboBoxが表示さ
れています。
C1RangeSlider
C1SplitButton
Office2010Black ビジュアルスタイル
Office 2010 の黒の配色。
C1TextBox
C1CheckBox
C1Label
C1DbNavigator
C1DropDownControl
C1DateEdit
C1NumericEdit
74
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
C1Button
C1ComboBox
注意:説明のために2つ
のComboBoxが表示さ
れています。
C1RangeSlider
C1SplitButton
Office2010Silver ビジュアルスタイル
Office 2010 のシルバーの配色。
C1TextBox
C1CheckBox
C1Label
C1DbNavigator
C1DropDownControl
C1DateEdit
C1NumericEdit
75
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
C1Button
C1ComboBox
注意:説明のために2つ
のComboBoxが表示さ
れています。
C1RangeSlider
C1SplitButton
テーマ
ビジュアルスタイルに加えて、C1ThemeController を使用して、C1Input コントロールに他のテーマを適用できます。
ThemeDesigner を使用して、独自のテーマを作成することもできます。
テーマを使用して C1Input コントロールの外観をカスタマイズするには、コンポーネントトレイに C1ThemeController を追加
し、Themes プロパティを以下の定義済みのスタイルのいずれかに設定します。
テーマ名
画像
Office2007Black
Office2007Blue
Office2007Silver
76
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
Office2010Black
Office2010Blue
Office2010Silver
Office2013DarkGray
Office2013LightGray
Office2013White
ExpressionDark
ExpressionLight
GreenHouse
77
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
RainerOrange
ShinyBlue
Violette
VisualStyleOffice2010Black
VisualStyleOffice2010Blue
VisualStyleOffice2010Silver
VS2013Blue
VS2013Dark
VS2013Light
78
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
VS2013DarkSolar
VS2013Green
VS2013Purple
VS2013Red
VS2013Tan
設計時に C1Input コントロールにテーマを適用する方法
C1Input コントロールで C1ThemeController コンポーネントを使用するには、次の手順を実行します。
1. 設計時に C1Input コントロール(C1ComboBoxなど)をフォームに追加します。
2. C1ThemeController コンポーネントをコンポーネントトレイに追加します。[[C1ThemeController]]ダイアログボックス
が表示されます。
C1ThemeController 2.0 コンポーネントを使用する場合は、[C1ThemeController]ダイアログボックスが表示さ
れます。ThemeController ダイアログボックスを使用して、アプリケーション内のテーマ指定可能なすべてのコン
トロールにすばやくテーマを適用できます。また、フォーム内のテーマ指定可能なすべてのコントロールにテーマ
を適用したり、いくつかのコントロールにそれぞれ異なるテーマを適用することもできます。
[C1ThemeController]]ダイアログボックスには、フォームに表示されているすべてのコンポーネントがリストされます。
C1ThemeController を追加する前に、テーマ指定可能なコントロールがフォームにあった場合は、このダイアログボッ
クスにフォーム内のすべてのコンポーネントがリストされます。コントロールのプロパティ設定が意図せず失われないよ
うに、初めは各コントロール/コンポーネントが "(なし)" に設定されています。
3. [C1ThemeController]]ダイアログボックスで、Form1 と c1ComboBox1 の横にある[テーマ]
[テーマ]ドロップダウンボタンをク
リックし、定義済みのテーマの1つ(Violette など)を選択します。
79
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
4. [OK]]をクリックして保存し、[[C1ThemeController]]ダイアログボックスを閉じます。
5. プロジェクトを実行し、フォーム
フォームと C1Combobox に Violette テーマが適用されていることを確認します。
プログラムで C1Input コントロールにテーマを適用する方法
次のコードは、RegisterTheme メソッドと SetTheme メソッドを使用して、プログラムから組み込みテーマを適用する方法を示
します。
80
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
Visual Basic でコードを書く場合
Visual Basic
'C1ThemeController を使用してテーマファイルを登録します
C1.Win.C1Themes.C1ThemeController.RegisterTheme("C:\Users\Documents\Visual Studio
2010\Projects\ThemesProject\ShinyBlue.c1theme")
'ファイル名ではなくテーマ名を使用してテーマをコントロールに適用します
Me.c1ThemeController1.SetTheme(c1ComboBox1, "ShinyBlue")
C# でコードを書く場合
C#
//C1ThemeController を使用してテーマファイルを登録します
C1.Win.C1Themes.C1ThemeController.RegisterTheme(@"C:\Users\Documents\Visual Studio
2010\Projects\ThemesProject\ShinyBlue.c1theme");
//テーマ名を使用してテーマをコントロールに適用します
this.c1ThemeController1.SetTheme(c1ComboBox1, "ShinyBlue")
定義済みのテーマに加えて、テーマ
テーマデザイナを使用してテーマをカスタマイズすることもできます。詳細については、Themes
for WinForms ドキュメントを参照してください。
C1Themes と VisualStyle プロパティ
多くの ComponentOne WinForms コントロールには、VisualStyle と呼ばれるプロパティがあります。このプロパティは、コント
ロールアセンブリで定義される列挙型ですが、型と設定可能な値は共通の命名パターンに従っています。通常、この列挙型は
VisualStyle という名前で、Office2010Blue、Office2010Black などの値が含まれます。C1Themes は、これまでより多機能で
柔軟なメカニズムによってコントロールの外観を調整できるように設計されています。ただし、この2つのメカニズムの間には明
らかな重複があり、これらが競合する可能性があります。この重複は、次の規則に基づいて処理されます。
すべての C1 コントロールのテーマセクションには、そのテーマで指定できる VisualStyle プロパティが含まれます。
用意されているすべてのテーマのプロパティはデフォルトで 'Custom' に設定されます。これは、この VisualStyle が他
のプロパティの適用を妨げないようにします。
テーマの VisualStyle をカスタム以外に設定すると、ターゲットコントロールの対応するプロパティが設定され、他のす
べてのテーマプロパティの適用が無効になります。(C1ThemeDesigner では、コントロールのテーマツリーの残りの部
分が実際に無効になります。)
下位互換性などを考慮して、テーマではなく VisualStyle を使用してアプリケーションの外観のカスタマイズしなければならない
こともありますが、可能であれば、多機能で柔軟なメカニズムを備えた C1Themes の方を使用することをお勧めします。新しい
コントロールでのビジュアルスタイルのサポートは段階的に廃止され、テーマに置き換えられる予定です。
境界線スタイル
C1Input では、次の境界線スタイルを使用できます。
境界線スタ
イル
プレビュー
None
81
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
FixedSingle
Fixed3D
(デフォル
ト)
境界線色
C1DateEdit、C1CheckBox、C1Label、C1NumericEdit、C1DropDownControl、C1TextBox の各コントロールには、境界
線色を適用できます。それには、境界線スタイルを FixedSingle に設定し、BorderColor プロパティの値を指定します。
境界線色を適用できる C1Input コントロールにそれを適用する方法については、「C1Input コントロールの境界線色の表示」
を参照してください。
カーソルのスタイル
マウスポインタがコントロール上にあるときのカーソルの表示方法をカスタマイズすることができます。それには、Cursor プロ
パティの値を指定します。また、ButtonCursor プロパティを使用して、入力コントロール内のボタンをマウスでポイントすると
きのカーソルの表示方法もカスタマイズできます。カーソルのスタイルは、すべての C1Input コントロールに適用可能です。ボ
タンカーソルのスタイルは、C1DropDownControl、C1DbNavigator、C1DateEdit、および C1NumericEdit に適用可能で
す。カーソルとボタンカーソルのスタイルは、次のように表示されます。
ボタンカーソルのス
タイル
プレビュー
AppStarting
Arrow
Cross
Default
IBeam
No
SizeAll
SizeNESW
82
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
SizeNS
SizeNWSE
SizeWE
UpArrow
WaitCursor
Help
HSplit
VSplit
NoMove2D
NoMoveHoriz
NoMoveVert
PanEast
PanNE
PanNorth
PanNW
83
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
PanSE
PanSouth
PanSW
PanWest
Hand
フラットスタイル
C1Button は、ボタンコントロールにマウスポインタを置いてクリックするときのボタンのスタイルを、さまざまなフラットスタイル
から選択することができます。
ButtonBase.FlatStyle プロパティには、次の値があります。
フラットスタイル
プレビュー
Standard
Flat
Popup
System
ButtonBase.FlatStyle プロパティを "Flat" に設定した場合は、ButtonBase.FlatAppearance プロパティを使用して、境界線
の色、境界線の太さ、マウスポインタを合わせたときの背景色、およびマウスを押したときの背景色を変更することができま
す。ButtonBase.FlatAppearance プロパティには、次のプロパティがあります。
BorderColor – ボタンの境界線の色を指定します。
BorderSize – ボタンの境界線のサイズをピクセル単位で指定します。
MouseDownBackColor – コントロールの範囲内でマウスボタンが押されたときのボタンのクライアント領域の色を指
定します。
84
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
MouseOverBackColor – コントロールの範囲内にマウスポインタが置かれたときのボタンのクライアント領域の色を
指定します。
次の図は、BorderColor、BorderSize、MouseOverBackColor の各プロパティが設定されたフラットスタイルの C1Button
を示しています。
ボタンの色
C1DBNavigator コントロールでは、ColorButtons プロパティを使用して、青いボタンを表示するかどうかを指定できます。ま
た、ColorWhenHover プロパティを使用して、これらのボタンにマウスポインタを置いたときに、色付きのボタンを表示するか
どうかも指定できます。
次の図は、ColorButtons プロパティを True に設定した場合に、C1DBNavigator に色付きのボタンがどのように表示されるか
を示しています。
85
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
タスク別ヘルプ
「タスクベースのヘルプ」セクションでは、ユーザーの皆様が Visual Studio .NET 環境のプログラミングに精通してお
り、C1Input コントロールを使用する一般的な方法を理解していることを前提としています。
各トピックは、特定のタスクに対して Input for WinForms 製品を使用したソリューションを提供します。各トピックに示される
手順に従って作業を進めるだけで、さまざまな Input for WinForms の機能を使用したプロジェクトを作成できます。
また、タスクベースのヘルプトピックは、新しい .NET プロジェクトが既に作成されていることを前提としています。
ドロップダウンフォームの追加
プロジェクトにドロップダウンフォームを追加するには、次の手順に従います。
1. ソリューションエクスプローラーでプロジェクトを右クリックし、[追加]
[追加]サブメニューから[新しい項目の追加]
[新しい項目の追加]を選択します。
2. [新しい項目の追加]
[新しい項目の追加]ダイアログボックスで、右ペインの[テンプレート]
[テンプレート]リストから[[Windows フォーム]
フォーム]を選択します。次
に、[名前]
[名前]テキストボックスに「DropDownForm1.cs」と入力します。
86
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
3. 次の手順では、DropDownForm コードの次のクラス定義行を置き換えます。
Visual Basic コードの書き方
Visual Basic
Public Class DropDownForm1
Inherits System.Windows.Forms.Form
C# コードの書き方
C#
Public Class DropDownForm1:System.Windows.Forms.Form
次のコードに置き換えます。
Visual Basic コードの書き方
Visual Basic
Public Class DropDownForm1
Inherits C1.Win.C1Input.DropDownForm
C# コードの書き方
C#
Public Class DropDownForm1: C1.Win.C1Input.DropDownForm
87
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
編集前のフォームは次の図のように表示されます。
ナビゲータのナビゲーションを変更する
ナビゲータのナビゲーションを変更するには、Index を次のように変更します。
Visual Basic コードの書き方
Visual Basic
Private Sub c1DbNavigator1_BeforeAction(sender As Object, e As
C1.Win.C1Input.NavigatorBeforeActionEventArgs)
If e.Button = C1.Win.C1Input.NavigatorButtonEnum.First Then
' 最初のレコードではなく、2番目のレコードに移動します
e.Index = 1
End If
' 入力された数値が大きすぎる場合は、最後の行に移動します
If e.Button = C1.Win.C1Input.NavigatorButtonEnum.Position AndAlso e.Cancel
Then
e.Cancel = False
End If
End Sub
C# コードの書き方
C#
private void c1DbNavigator1_BeforeAction(object sender,
C1.Win.C1Input.NavigatorBeforeActionEventArgs e)
{
88
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
if (e.Button == C1.Win.C1Input.NavigatorButtonEnum.First)
{
// 最初のレコードではなく、2番目のレコードに移動します
e.Index = 1;
}
// 入力された数値が大きすぎる場合は、最後の行に移動します
if (e.Button == C1.Win.C1Input.NavigatorButtonEnum.Position && e.Cancel)
{
e.Cancel = false;
}
}
ドロップダウンエディタのカスタマイズ
下のドロップダウンフォームには、ユーザーが C1DropDownControl から選択を行うためのオプションボタンとボタンコント
ロールが含まれています。
ドロップダウンフォームの外観プロパティは、フォームが次のように表示されるように既に編集されています。
C1DropDownControl の DropDownFormClassName プロパティで、フォームのクラス名(この例では、
WindowsApplication1.DropDownForm1)を選択します。プロジェクトを実行してドロップダウン矢印を選択すると、ドロップダ
ウンフォームが表示されます。
ドロップダウンフォーム上のボタンコントロールを有効にする
1. DropDownForm1 の AcceptButton プロパティと CancelButton プロパティをそれぞれ button1 と button2 に設
定します。
2. [OK]]ボタンを選択し、DialogResult プロパティを OK に設定します。同様に、[キャンセル]
[キャンセル]ボタンを選択
し、DialogResult プロパティを Cancel に設定します。
3. 項目がクリックされてドロップダウンフォームが閉じるときに、コントロールテキストが変更されるようにするに
は、PostChanges イベントに次のイベントハンドラを追加します。
Visual Basic コードの書き方
Visual Basic
Private Sub DropDownForm1_PostChanges(sender As Object, e As System.EventArgs)
If (MyBase.DialogResult = DialogResult.OK) Then
Dim control1 As Control
For Each control1 In MyBase.Controls
If (TypeOf control1 is RadioButton AndAlso CType(control1,
RadioButton).Checked) Then
MyBase.OwnerControl.Value = CType(control1, RadioButton).Text
End If
Next
End If
89
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
End Sub
C# コードの書き方
C#
private void DropDownForm1_PostChanges(object sender, System.EventArgs e)
{
if (DialogResult == DialogResult.OK)
{
foreach (Control control1 in Controls)
{
if (control1 as RadioButton != null &&
((RadioButton)control1).Checked)
{
OwnerControl.Value = ((RadioButton)control1).Text;
}
}
}
}
4. 設計時に、DropDownForm1 を選択して[プロパティ]ウィンドウにプロパティを表示し、プロパティツールバーの[イベ
[イベ
ント]
ント]ボタン
をクリックします。
5. DropDownForm1.PostChanges イベントを DropDownForm1_PostChanges に設定します。
6. フォームが開いたときに[[OK]]ボタン(button1)がフォーカスを受け取るようにするには、
DropDownForm1.FocusControl プロパティを button1 に設定します。
7. [Standard]]オプションボタンをオンにするには、設計時に radiobutton1 を選択し、Checked プロパティを True に
設定します。
このトピックの作業結果
フォームは次のように表示されます。
90
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
C1DropDownControl のカスタマイズ
このトピックでは、C1Input.C1DropDownControl のカスタマイズ方法について説明します。
ドロップダウンボタンだけが表示されるようにするには、次の手順に従います。
1. VisibleButtons プロパティノードを展開します。
2. UpDown を False に設定します。DropDown はデフォルトで True に設定されています。コントロールは、次の図の
ように表示されます。
ドロップダウンフォームの幅とコントロールの幅を合わせるには、次の手順に従います。
1. ドロップダウンフォームを選択します。
2. Options.AutoResize を True に設定します。
C1CheckBox の連結
以下のトピックでは、C1CheckBox をブール値、文字列、整数フィールドに連結する方法を示します。
ブール値フィールドへの C1CheckBox の連結
プログラムで C1CheckBox をブール値フィールドに連結するには、次のコードを使用します。
Visual Basic コードの書き方
Visual Basic
C1CheckBox1.DataSource = dt
C1CheckBox1.DataField = "ColumnBoolean"
C# コードの書き方
91
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
C#
C1CheckBox1.DataSource = dt;
C1CheckBox1.DataField = "ColumnBoolean";
文字列フィールドへの C1CheckBox の連結
プログラムで C1CheckBox を文字列フィールドに連結するには、次のコードを使用します。
Visual Basic コードの書き方
Visual Basic
c1CheckBox1.DataSource = dt
c1CheckBox1.DataField = "ColumnString"
c1CheckBox1.DataType = GetType(String)
' TranslateValues プロパティを使用して、文字列値をチェックボックスの状態に、またはその逆の変換を行います。
c1CheckBox1.TranslateValues.Checked = "Yes"
c1CheckBox1.TranslateValues.Unchecked = "No"
C# コードの書き方
C#
c1CheckBox1.DataSource = dt;
c1CheckBox1.DataField = "ColumnString";
c1CheckBox1.DataType = typeof(string);
// TranslateValues プロパティを使用して、文字列値をチェックボックスの状態に、またはその逆の変換を行います。
c1CheckBox1.TranslateValues.Checked = "Yes";
c1CheckBox1.TranslateValues.Unchecked = "No";
整数フィールドへの C1CheckBox の連結
プログラムで C1CheckBox を整数フィールドに連結するには、次のコードを使用します。
Visual Basic コードの書き方
Visual Basic
c1CheckBox1.DataSource = dt
c1CheckBox1.DataField = "ColumnInt"
c1CheckBox1.DataType = GetType(Integer)
' TranslateValues プロパティを使用して、文字列値をチェックボックスの状態に、またはその逆の変換を行います。
c1CheckBox1.TranslateValues.Checked = 1
c1CheckBox1.TranslateValues.Unchecked = 0
C# コードの書き方
C#
c1CheckBox1.DataSource = dt;
c1CheckBox1.DataField = "ColumnInt";
c1CheckBox1.DataType = typeof(int);
// TranslateValues プロパティを使用して、文字列値をチェックボックスの状態に、またはその逆の変換を行います。
92
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
c1CheckBox1.TranslateValues.Checked = 1;
c1CheckBox1.TranslateValues.Unchecked = 0;
カレンダードロップダウンの設定
以前のバージョンの Input for WinForms では、C1DateEdit コントロールのカレンダー機能を使用し
て、Calendar.UIString プロパティを操作することで[今日]ボタンと[クリア]ボタンを設定することができました。新しいバー
ジョンの C1Input.DateEdit コントロール では、C1DateEdit のプロパティメニューにアクセスしてこれらのボタンを設定できま
す。
[今日]ボタンと[クリア]ボタンを設定するには、次の手順に従います。
1. C1DateEdit コントロールをフォームに追加します。
2. [プロパティ]メニューから C1.DateEdit1 を選択します。
3. 左側の列で Calendar を見つけ、Calendar プロパティを展開します。
93
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
4. 左側の列で ClearText を見つけ、右側の列に「リセット(&R)」と入力します。
5. 左側の列で TodayText を見つけ、右側の列に「今日(&N)」と入力します。
94
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
6. [F5]]キーを押してプロジェクトをコンパイルおよび実行します。
これで、C1DateEdit ドロップダウンメニューを開くと、[今日]ボタンと[リセット]ボタンが設定されています。
ビジュアルスタイルによる外観のカスタマイズ
C1Input コントロールで VisualStyle プロパティを設定する
と、C1TextBox、C1Label、C1DbNavigator、C1DropDownControl、C1DateEdit(ドロップダウンカレンダーを含
む)、C1NumericEdit(ドロップダウン電卓を含む)、および C1Button の描画に使用されるグラデーションと境界線を制御で
きます。
ビジュアルスタイルを使用して C1Input コントロールの外観をカスタマイズするには、VisualStyle プロパティを
Custom、Office2007Black、Office2007Blue、Office2007Silver、System、Office2010Blue、Office2010Black、または
Office2010Silver に設定します。このプロパティは、デザイナまたはコードで設定できます。次の表で、各ビジュアルスタイル
について説明します。
ビジュアルスタイ
説明
ル
Custom
ビジュアルスタイルなし(通常のスタイルと外観のプロ
パティを使用)。
Office2007Black Office2007 Black の配色に合わせます。
Office2007Blue
Office2007 Blue の配色に合わせます。
Office2007Silver Office2007 Silver の配色に合わせます。
System
現在のシステム設定に合わせます。
Office2010Blue
Office2010 Blue の配色に合わせます。
Office2010Black Office2010 Black の配色に合わせます。
Office2010Silver Office2010 Silver の配色に合わせます。
デザイナの使用
[プロパティ]ウィンドウで VisualStyle プロパティを探
95
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
し、Custom、Office2007Black、Office2007Blue、Office2007Silver、System、Office2010Blue、Office2010Black、ま
たは Office2010Silver に設定します。この例では、C1TextBox コントロールの VisualStyle プロパティが Office2007Blue
に設定されます。
コードエディタの使用
Form_Load イベントにコードを追加して、VisualStyle プロパティを
Custom、Office2007Black、Office2007Blue、Office2007Silver、または System に設定します。次のコードは、
C1TextBox コントロールの VisualStyle プロパティを Office2007Blue に設定しています。
Visual Basic コードの書き方
Visual Basic
Me.C1TextBox1.VisualStyle = C1.Win.C1Input.VisualStyle.Office2007Blue
C# コードの書き方
C#
Me.C1TextBox1.VisualStyle = C1.Win.C1Input.VisualStyle.Office2007Blue
C1DateEdit コントロールのカスタマイズ
このトピックでは、C1DateEdit ドロップダウンコントロールをカスタマイズする方法について説明します。デフォルトでは、このド
ロップダウンコントロールは次の図のように表示されます。
ボタンの表示
ボタンの表示/非表示
非表示
[クリア]
[クリア]ボタンと[今日]
[今日]ボタンを非表示にするには、次のタスクを実行します。
1. C1DateEdit コントロールを選択します。
96
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
2. [プロパティ]ウィンドウで、Calendar プロパティノードを展開します。
3. ShowClearButton プロパティと ShowTodayButton プロパティを False に設定します。
書式の表示
FormatType プロパティを使用して、ボックスに表示される日付を編集することができます。
デフォルトでは、ボックスに日時が表示されます。日付だけを表示するには、次のタスクを実行します。
1. C1DateEdit コントロールを選択します。
2. [プロパティ]ウィンドウで、FormatType プロパティを ShortDate に設定します。
クリックされた C1DropDown のボタンをテキストボックスに表示す
る
クリックされた C1DropDownControl ボタンをテキストボックスに表示するに
は、C1DropDownControl.UpDownButtonClick イベントを使用します。この例では、出力がテキストボックス(TextBox1)に
表示されます。
Visual Basic コードの書き方
Visual Basic
Private Sub C1DropDownControl1_UpDownButtonClick(ByVal sender As Object, ByVal e As
C1.Win.C1Input.UpDownButtonClickEventArgs) Handles
C1DropDownControl1.UpDownButtonClick
If (e.Delta = 1) Then
Me.TextBox1.AppendText("上 " & ControlChars.CrLf)
ElseIf (e.Delta = -1) Then
Me.TextBox1.AppendText("下 " & ControlChars.CrLf)
End If
End Sub
C# コードの書き方
C#
private void c1DropDownControl1_UpDownButtonClick(object sender,
C1.Win.C1Input.UpDownButtonClickEventArgs e)
{
if ((e.Delta == 1))
{
this.textBox1.AppendText("上\r\n");
}
else if ((e.Delta == -1))
{
this.textBox1.AppendText("下\r\n");
}
}
このトピックの作業結果
C1DropDownControl で[[Up]]または[[Down]]ボタンをクリックすると、テキストボックスに「Up」または「Down」という文字が
表示され、どのボタンが押されたかが示されます。
97
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
PictureBox のカスタマイズ
多の多くのコントロールと同様に、C1.Input.PictureBox のサイズは、マウスまたは C1.Input.PictureBox.Size プロパティ
プロパティを
使用して簡単に増減できます。しかし、画像ファイルの寸法によっては、画像が切れたり、
PictureBox 内に大きな空白ができてしまう場合があります。
98
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
プログラムの実行時に、できる限り画像を大きく表示したいとします。そこで PictureBox コントロールのサイズを大きくしても、
写真をコントロールの領域いっぱいに引き伸ばして表示するには、写真の Input.PictureBox.SizeMode を変更する必要があ
ります。
PictureBox 内で画像を拡大するには、次の手順に従います。
1. .NET プロジェクトを作成し、次のコントロールをフォームに追加します。
C1ExpressTable1(C1.Data.Express.C1ExpressTable)
C1Label1-3(C1.Win.C1Input.C1Label)
C1PictureBox1(C1.Win.C1Input.C1PictureBox)
C1TextBox1(C1.Win.C1Input.C1TextBox)
C1DbNavigator1(C1.Win.C1Input.C1DbNavigator)
2. 次のフォームのようにコントロールを配置します。
99
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
3. 次のコードを C1.Data.Express.C1ExpressTable.ConnectionString プロパティに入力します。
Provider=Microsoft.Jet.OLEDB.4.0;Data Source="C:\Program Files\ComponentOne Studio.NET
2.0\Common\Nwind.mdb"
メモ: 手順3は、ComponentOne コントロールのインストール時に作成されたデフォルトの場所に NWind.mdb
というサンプルファイルがあることを前提としています。データベースファイルが別の場所にある場合、または別
のデータベースファイルを使用する場合は、このエントリを適宜調整してください。
4. [プロパティ]ウィンドウを使用して、残りのコントロールをデータベースに連結します。
ビジュアルスタイル
説明
C1DbNavigator1.DataSource C1ExpressTable1
C1Label1.DataSource
C1ExpressTable1
C1Label1.DataField
LastName
C1Label2.DataSource
C1ExpressTable1
C1Label2.DataField
FirstName
C1Label3.DataSource
C1ExpressTable1
C1Label3.DataField
HireDate
C1PictureBox1.DataSource
C1ExpressTable1
C1PictureBox1.DataField
Photo
C1TextBox1.DataSource
C1ExpressTable1
C1TextBox1.DataField
Notes
この段階でプログラムを実行し、データベース内を順に移動しながら画像を表示すると、画像は PictureBox いっぱい
100
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
には表示されず、フォームに大きな空白ができます。画像を PictureBox の領域いっぱいに引き伸ばす必要がありま
す。
5. C1PictureBox1.SizeMode プロパティを Normal から StretchImage に変更します。ほかに3つのオプションがあるこ
とにも注意してください。
6. プログラムを実行して、従業員の写真が大きく表示されることを確認します。
101
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
C1DateEdit コントロールからの移動
エンドユーザーが C1DateEdit コントロールを選択した後に、[Enter]または[Tab]キーを押して別のコントロールに移動する
と、あるいはマウスを使用して別のコントロールを選択すると、現在の日付が C1DateEdit コントロールに自動的に入力されま
す。
別のコントロールに移動する際に日付が自動的に入力されないようにするには、次のいずれかを実行します。
デザイナの使用
1. 新しい .NET プロジェクトを作成し、フォームに C1DateEdit コントロールと C1TextBox コントロールを配置します。
2. コントロールの値が空であることがエンドユーザーにわかるようにするため、C1DateEdit.NullText プロパティ
プロパティに「{値
なし}」と入力します。
この時点でプログラムを実行し、キーボードまたはマウスを使用して C1DateEdit コントロールを選択した
後、C1TextBox コントロールを選択しようとすると、今日の日付が C1DateEdit フィールドに自動的に入力され、
C1DateEdit フィールドを空欄のままにすることはできません。
カーソルは C1TextBox にありますが、C1DateEdit フィールドには現在の日付が残ります。
3. [プロパティ]ウィンドウを使用して、C1DateEdit1.DateTimeInput プロパティ
プロパティを False に変更
し、C1DateEdit1.EmptyAsNull プロパティを True に変更します。
4. プログラムを実行して C1DateEdit コントロールをクリックし、次に C1TextBox をクリックします。
C1TextBox に切り替えた後も、C1DateEdit フィールドは空のままになります。
コードエディタの使用
1. 新しい .NET プロジェクトを作成し、ソリューションエクスプローラーで C1Input コントロールへの参照を追加します。
2. 次の import 文をコードエディタに追加します。
Visual Basic コードの書き方
Visual Basic
Imports C1.Win.C1Input
C# コードの書き方
102
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
C#
using C1.Win.C1Input;
3. Form_Load イベントに C1DateEdit コントロールと C1TextBox コントロールを追加します。
Visual Basic コードの書き方
Visual Basic
Dim X As New C1DateEdit
Controls.Add(X)
X.Location = New Point(50, 40)
Dim Y As New C1TextBox
Controls.Add(Y)
Y.Location = New Point(100, 80)
C# コードの書き方
C#
C1DateEdit X = new C1DateEdit();
Controls.Add(X);
X.Location = new Point(50, 40);
C1TextBox Y = new C1TextBox();
Controls.Add(Y);
Y.Location = new Point(100, 80);
4. コントロールの値が空であることがエンドユーザーにわかるようにするため、次のコードを C1DateEdit エントリに追加
します。
Visual Basic コードの書き方
Visual Basic
X.NullText = "{Empty Value}"
C# コードの書き方
C#
X.NullText = "{Empty Value}";
この時点でプログラムを実行し、キーボードまたはマウスを使用して C1DateEdit コントロールを選択した
後、C1TextBox コントロールを選択しようとすると、今日の日付が C1DateEdit フィールドに自動的に入力さ
れ、C1DateEdit フィールドを空欄のままにすることはできません。
5. 別のコントロールに切り替えた後も C1DateEdit フィールドが「空の値」を保持するようにするには、次のコードを
103
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
C1DateEdit エントリに追加します。
Visual Basic コードの書き方
Visual Basic
X.DateTimeInput = False
X.EmptyAsNull = False
C# コードの書き方
C#
X.DateTimeInput = False;
X.EmptyAsNull = False;
6. プログラムを実行して C1DateEdit コントロールをクリックし、次に C1TextBox をクリックします。
C1TextBox に切り替えた後も、C1DateEdit フィールドは空のままになります。
C1Input コントロールの境界線色の表示
C1DateEdit、C1Label、C1NumericEdit、C1DropDownControl、C1TextBox の各コントロールには、境界線色を適用でき
ます。
C1DropDownControl の境界線色を設計時に設定する場合
1. フォームに C1DropDownControl を追加します。
2. C1DropDownControl の[プロパティ]ウィンドウに移動し、BorderStyle プロパティを「FixedSingle」に設定します。
3. C1DropDownControl の BorderColor プロパティを「Red」に変更します。
C1DropDownControl の境界線色をプログラムで設定する場合
次のコードを使用して境界線色を C1DropDownControl に追加します。
Visual Basic コードの書き方
Visual Basic
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles MyBase.Load
Dim dropdown As New C1DropDownControl
Me.Controls.Add(dropdown)
dropdown.BorderStyle = BorderStyle.FixedSingle
dropdown.BorderColor = Color.Red
End Sub
C# コードの書き方
104
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
C#
private void Form1_Load(object sender, EventArgs e)
{
C1DropDownControl dropdown = new C1DropDownControl();
this.Controls.Add(dropdown);
dropdown.BorderStyle = BorderStyle.FixedSingle;
dropdown.BorderColor = Color.Red;
}
このトピックの作業結果
実線スタイルの赤色の境界線が C1DropDownControl に追加されます。
境界線の色が変更されたときにメッセージボックスを表示する
BorderColor プロパティの値を変更する際に、BorderColorChanged イベントを使用できます。
C1TextBox の境界線の色が変更されるときにメッセージボックスを表示するには、次の手順に従います。
1. フォームに C1TextBox コントロールを追加します。
2. C1TextBox の[プロパティ]ウィンドウに移動し、BorderStyle プロパティを「FixedSingle」に変更します。
3. C1TextBox の境界線の色を紫に変更する MouseClick イベントを C1TextBox コントロールに追加します。
Visual Basic コードの書き方
Visual Basic
Private Sub C1TextBox1_MouseClick(ByVal sender As System.Object, ByVal e As
System.Windows.Forms.MouseEventArgs) Handles C1TextBox1.MouseClick
C1TextBox1.BorderColor = Color.Purple
End Sub
C# コードの書き方
C#
private void c1TextBox1_MouseClick(object sender, MouseEventArgs e)
{
c1TextBox1.BorderColor = Color.Purple;
}
4. BorderColorChanged イベントを C1TextBox1 に追加し、境界線の色が変更されたことをユーザーに通知するメッ
セージボックスを表示します。
Visual Basic コードの書き方
Visual Basic
Private Sub C1TextBox1_BorderColorChanged(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles C1TextBox1.BorderColorChanged
MessageBox.Show(“The C1TextBox1 border color change to purple”)
105
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
End Sub
C# コードの書き方
C#
private void c1TextBox1_BorderColorChanged(object sender, EventArgs e)
{
MessageBox.Show("The c1TextBox1 border color changed to purple");
}
このトピックの作業結果
C1TextBox コントロールをマウスでクリックすると、境界線の色が紫に変更されます。境界線の色が紫に変更される
と、BorderColorChanged イベントが発生し、境界線の色が変更されたことをユーザーに通知するメッセージボックスが表示
されます。
IMEモードを設定する
モードを設定する
ImeMode プロパティを使用すると、C1Input コントロールの IME(Input Method Editor)モードを設定することができます。
IME は、ユーザーが基本的なキーボードから日本語の漢字などの複雑な記号や文字を入力コントロールに入力できるように
するプログラムです。
次の表で、ImeMode プロパティで使用できる値について説明します。
値
説明
On
IME がオンであることを示します。中国語または日本語に固有の記号または文字を入力できます。日本
語、簡体字中国語、および繁体字中国語の IME でのみ有効です。
Off
IME がオフであることを示します。オブジェクトは、英語入力モードと同じように動作します。日本語、簡体字
中国語、および繁体字中国語の IME でのみ有効です。
Disable
IME が無効であることを示します。IME ウィンドウが非表示の場合、ユーザーはキーボードから IME を有
効にすることはできません。
Hiragana
2バイト文字のひらがな。日本語の IME でのみ有効です。
Katakana
2バイト文字のカタカナ。日本語の IME でのみ有効です。
KatakanaHalf 1バイト文字のカタカナ。日本語の IME でのみ有効です。
AlphaFull
2バイト文字の英数字。韓国語と日本語の IME だけで有効です。
Alpha
1バイト文字の英数字。韓国語と日本語の IME だけで有効です。
106
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
HangulFull
2バイト文字のハングル。韓国語の IME でのみ有効です。
NoControl
None(デフォルト)。
Inherit
親コントロールの IME モードを継承することを示します。
Close
IME が閉じた状態であることを示します。中国語の IME でのみ有効です。
Hangul
1バイト文字のハングル。韓国語の IME でのみ有効です。
OnHalf
IME が HalfShape 状態であることを示します。中国語の IME でのみ有効です。
C1Input コントロールの IME モードを変更するには、次の手順に従います。
1. 新しい Windows アプリケーションプロジェクトを作成します。C1Input コントロール(C1TextBox、C1ComboBox、
C1DateEdit、C1DropDownControl、または C1NumericEdit)をフォームに配置します。
2. [プロパティ]
[プロパティ]ウィンドウで、必要に応じて ImeModeプロパティを設定します。
フォーカスを移動する
この機能を使用すると、コントロール間を簡単に移動したり、C1Input の各コントロール(C1TextBox、C1ComboBox、
C1DateEdit、C1DropDownControl、および C1NumericEdit)にキーボードによる移動のサポートを追加することができます。
次のプロパティを使用すると、フォーカスを C1Input コントロールから別のコントロールに、または別のコントロールから
C1Input コントロールに移動することができます。
ExitOnLastChar::入力されたテキストの長さが MaxLength プロパティで定義された最大長に達するか、またはマス
クが入力されると、フォーカスが C1Input コントロールから移動します。デフォルト値は、False です。
ExitOnLeftRightKey::左矢印キーまたは右矢印キーが押されると、フォーカスを C1Input コントロールから移動しま
す。デフォルト値は、None です。
TabStop::[Tab]キーが押されたときに左側のコントロールから C1Input コントロールにフォーカスを移動するかどうか
を示します。デフォルト値は、True です。
次の表で、上記のプロパティの値と動作について説明します。
プロパティ
可能な値
説明
ExitOnLastChar
True
入力されたテキストの長さが MaxLength プロパティで定
義された最大長に達するか、またはマスクが入力されたと
きに C1Input コントロールからフォーカスが移動する機能
を有効にします。
False
入力されたテキストの長さが MaxLength プロパティで定
義された最大長に達するか、またはマスクが入力されたと
きに C1Input コントロールからフォーカスが移動する機能
を無効にします。
ExitOnLeftRightKey None
TabStop
107
矢印キーが押されたときの C1Input コントロールからの
フォーカスの移動を無効にします。
Left
左矢印キーが押されると C1Input コントロールの左側のコ
ントロールにフォーカスが移動する機能を有効にします。
Right
右矢印キーが押されると C1Input コントロールの右側のコ
ントロールにフォーカスが移動する機能を有効にします。
Both
各キーが押されると C1Input コントロールの対応する側の
コントロールにフォーカスが移動する機能を有効にします。
True
[Tab]キーが押されると C1Input コントロールの左側のコ
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
ントロールから C1Input コントロールにフォーカスが移動す
る機能を有効にします。
False
[Tab]キーが押されると C1Input コントロールの左側のコ
ントロールから C1Input コントロールにフォーカスが移動す
る機能を無効にします。
C1Input コントロールでのこの機能を有効または無効にするには、次の手順に従います。
1. 新しい Windows アプリケーションプロジェクトを作成します。C1Input コントロール(C1TextBox、C1ComboBox、
C1DateEdit、C1DropDownControl、または C1NumericEdit)をフォームに配置します。
2. [プロパティ]
[プロパティ]ウィンドウで、必要に応じて、次のプロパティの1つまたはすべてを設定します。
ExitOnLastChar を true または false に設定すると、入力されたテキストが最大長に達したときにコントロール
からフォーカスが移動する機能が有効または無効になります。
ExitOnLeftRightKey を Left、Right、または Both に設定すると、各キーが押されたときにコントロールから
フォーカスが移動する機能が有効になります。
TabStop を true または false に設定すると、[Tab]キーが押されたときに C1Input コントロールにフォーカス
が移動する機能が有効または無効になります。
特定のカレンダー型を選択する
注意:
注意:現在のバージョンでは、CalendarTypeプロパティのJapaneseCalendarは、以下の機能が実装されていないため、
サポートされていません。
EditFormat.CustomFormatプロパティで年の書式に"g"または"g."を指定しても、編集時に省略形式の和暦が表
示されません。
テキストボックス内で、和暦(明治、大正、昭和、平成など)を入力または切り替えることができません。
編集時、表示時に対してそれぞれ異なる年の書式を設定することができません。(例:
EditFormat.CustomFormatプロパティに西暦を設定し、DisplayFormat.CustomFormatプロパティに和暦を設定
するなど)
テキストボックス上で、マウスやキーボードによるスピン操作で和暦の年を設定するとき、年号が正しく切り替わ
りません。(ドロップダウンカレンダーで"昭和"の日付を選択したあと、テキストボックス上でスピンさせると、強制
的に"平成"に戻ります)
CurrentMonthDisplayOffsetを設定したドロップダウンカレンダーでClearボタンを押下するとエラーが発生しま
す。
C1DateEdit コントロールと C1NumericEdit コントロールに存在する CalendarType プロパティを使用すると、特定のカレン
ダー型を選択して、デフォルト以外のカレンダーを使用できます。C1DateEdit コントロールおよび C1NumericEdit コントロー
ルでは、次のカレンダー型がサポートされます。
Default
ChineseLuniSolarCalendar
EastAsianLunisolarCalendar
GregorianCalendar
HebrewCalendar
HijriCalendar
JapaneseCalendar
JapaneseLunisolarCalendar
JulianCalendar
KoreanCalendar
KoreanLunisolarCalendar
TaiwanCalendar
TaiwanLunisolarCalendar
ThaiBuddhistCalendar
UmAlQuraCalendar
108
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
C1Input コントロールのカレンダー型を変更するには、次の手順に従います。
1. 新しい Windows アプリケーションプロジェクトを作成します。C1Input コントロール(C1DateEdit または
C1NumericEdit)をフォームに配置します。
2. [プロパティ]
[プロパティ]ウィンドウで、必要に応じて CalendarType プロパティを設定します。
SpinUp/SpinDownの使い方
の使い方
SpinUp メソッドと SpinDown メソッドを使用すると、フォーカスがコントロールにないとき、C1Input コントロール
(C1ComboBox、C1DropDownControl、C1DateEdit、および C1NumericInput)に入力された値を増減することができます。
上記のメソッドに加え、C1ComboBox と C1DateEdit は、追加のプロパティ AllowSpinLoop を含みます。SpinUp メソッドま
たは SpinDown メソッドが呼び出されたとき、このプロパティが true に設定されていると、プロパティは項目をループ処理しま
す。
次に示すのは、SpinUp メソッドの使用例です。
1. 新しい Windows アプリケーションプロジェクトを作成します。C1NumericEdit コントロールをフォームに配置します。
2. [プロパティ]
[プロパティ]ウィンドウで、Value プロパティを0に設定します。
3. TextBox コントロールをフォームに追加し、テキストボックスをダブルクリックすると、TextChanged イベントのコードが
生成されます。
4. テキストボックスの TextChanged イベントに次のコードを追加します。
Visual Basic でコードを書く場合
Visual Basic
Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs)
Handles TextBox1.TextChanged
c1NumericEdit1.SpinUp(1)
End Sub
C# でコードを書く場合
C#
private void textBox1_TextChanged(object sender, EventArgs e)
c1NumericEdit1.SpinUp(1);
}
5. プロジェクトを実行します。
ここまでの成果
TextBox コントロールに文字を入力すると、新しい文字が1つ入力されるたびに C1NumericEdit コントロールの値が1ずつ増
えて、コントロールに入力された文字数を示します。
アップ
アップ/ダウンボタンの配置を変更する
ダウンボタンの配置を変更する
The UpDownButtonAlignment プロパティを使用すると、C1DropDown、C1DateEdit、および C1NumericEdit のドロップダ
ウンボタンの横にあるアップボタンとダウンボタンの配置を変更できます。このプロパティには、次の値を指定できます。
109
Copyright © GrapeCity inc. All rights reserved. Input for WinForms
Default:両方のボタンが右側にドロップダウンボタンと並んで配置されます。
UpLeftDownRight:アップボタンは左側に、ダウンボタンは右側に配置されます。
UpRightDownLeft:アップボタンは右側に、ダウンボタンは左側に配置されます。
アップボタンとダウンボタンの配置を変更するには、次の手順に従います。
1. 新しい Windows アプリケーションプロジェクトを作成します。C1Input コントロール(C1DropDown、C1DateEdit、また
は C1NumericEdit)をフォームに配置します。
2. [プロパティ]
[プロパティ]ウィンドウで、必要に応じて UpDownButtonAlignment プロパティを設定します。
110
Copyright © GrapeCity inc. All rights reserved.