チェックボックスをフォームに貼り付ける
1 ツールボックス(ツールボックスが開いていない場合は、表示メニューから「ツールボックス」を選択
してください。)から、 CheckBox
をフォーム上のチェックボックスを貼り付けたい位置にドラッグし、ドロップす
る。
2 フォーム上で、チェックボックスを表示する大きさの指定は、マウスのドラッグによ
り行います。チェックボックスの大きさ自体は変わりませ
んが、テキスト表示領域の大きさが変わります。
3 デフォルトで、ツリービューのネーミングは、checkBox1、checkBox2、・・・・
の順となりま
す。
|
チェックボックスの名前を変える
1 フォームイメージが表示されるデザインビューでチェックボックスを選択した状態にし、画面右下のプロ
パティウィ
ンドウのName欄
の内容を
変更します。プロパティウィンドウ
が表示されない場合は、表示メニューから「プロパティウィンドウ」を選択してください。
※ チェックボックスに限らず、ツールボックスから貼り付けたコントロールの名称を、プログラム内から変更することはできません。これは、
プログラムがこ
のNameプロパテイでコントロールを区別しているためです。
|
チェックボックスの大きさを変更する
1 ネーミングと同様に、プロパティウィンドウのSize欄を変更してくださ
い。カンマの左側がツリービューの横幅、右側が縦幅となりま
す。
2 Sizeはプログラムの中から変更することができます。例えば、
checkBox1.Size=New System.Drawing.Size(300, 200);
という具合です。
他のコーディング方法としては、
checkBox1.Width=300;
checkBox1.Height=200;
とする方法があります。
|
チェックボックスの位
置を変更する
1 プロパティウィンドウのLocation欄を変更して
ください。カンマの左側が画面左端からの位置、右側が画
面上端からの
位置となります。
2 Sizeはプログラムの中から変更することができます。例えば、
checkBox1.Location=New
System.Drawing.Point(20, 15);
という具合です。
他のコーディング方法としては、
checkBox1.Left=20;
checkBox1.Top=15;
とする方法があります。
|
チェックボックス表示の有無を切り替える
チェックボックス表示の有無を切り替えるには、Visibleプロパティを用います。
checkBox1.Visible=true; //チェックボックスを表示
checkBox1.Visible=false; //チェックボックスを非表示
|
チェック
ボックスに文
字を表示する
チェックボックスに文字を表示します。
checkBox1.Text="これはサン
プ
ル
文字です。";
|
チェックボックスの背
景色を変える
チェックボックスには、他のコントロール同様にBackColorプ
ロパテイがあります。数字で背景色を指定するときは、R(赤)、G(緑)、B
(青)の順に、0〜255の範囲で値を指定してください。例えば、赤は「255,0,0」、 白は「255,255,255」という具合です。
ピクチャーボックスから、色をクリック指定することもできます。
プログラム上から色指定する場合は、
checkBox1.BackColor=Color.Red;
又は
checkBox1.BackColor=Color.FromArgb(255, 0,0);
という風に指定します。
|
チェック
ボックスの描画色を変える
チェックボックステキストの描画色は、ForeColorプロパテイ
で指定します。
プログラム上から色指定する場合は背景色の
設定と同様
に、
checkBox1.ForeColor=Color.Black;
等と指定します。
|
チェックボックスに画像を読み込む
チェックボックスに画像を読み込むには、
画像ファイルの所在パスを指定して、ImageクラスのFromFileメソッドを利用します。
label1.Image = Image.FromFile("画像の所在を示すフルパス") ;
|
チェックボックスの表示スタイルを変える
チェックボックスのデフォルトなスタイルはstandardです。FlatStyleプロパティによ
り、他の形状を選ぶことができます。
選択できる形状は次のとおりです。
コー
ド
|
説
明
|
checkBox1.FlatStyle=Flat; |
実線枠線があるフラットスタイル
|
checkBox1.FlatStyle=Standard; |
窪んだ形状のスタイル
|
|
チェックボックスの文字表示位置を変える
チェックボックスに文字を表示
させる場
合、デフォルトでは、チェックボックス内の表示位置は「左」となります。
この位置の変更方法は次のとおりです。
コー
ド |
説
明 |
checkBox1.TextAlign=TopLeft; |
表示位置は左上 |
checkBox1.TextAlign=TopCenter; |
表示位置は中央上 |
checkBox1.TextAlign=TopRight; |
表示位置は右上 |
checkBox1.TextAlign=MiddleLeft; |
表示位置は左中央 |
checkBox1.TextAlign=MiddleCenter; |
表示位置は中央 |
checkBox1.TextAlign=MiddleRight; |
表示位置は右中央 |
checkBox1.TextAlign=BottomLeft; |
表示位置は左下 |
checkBox1.TextAlign=BottomCenter; |
表示位置は中央下 |
checkBox1.TextAlign=BottomRight; |
表示位置は右下 |
|
関連したチェックボックスをプログラムから生成する
チェックボックスを利用する場合、関連した項目について並べる場合が多いと考えられ
ます。
ツールボックスから、ドラッグ&ドロップでフォーム上に貼り付けるよりも、プログラム上から生成した方が効率が良い場合が
あります。
ここでは、チェックボックスから曜日を選択する
アプリケーションを考えてみましょう。
まず、チェックボックスの総数を7つとします。
public CheckBox[]
chbox=new CheckBox[7];
次に、曜日名を文字配列youbiに読込みます。
string s=
"MonDay/TuesDay/WednesDay/ThursDay/FriDay/Saturday/Sunday";
string[]
youbi=s.Split('/');
最後に、チェックボックスをプログラムから生成しながら、フォーム上に20ピクセル間隔で配置し、各チェックボックスに曜日名を付けます。
int i;
for (i=0;i<7;i++)
{
chbox[i]=new CheckBox(); //チェックボックスの生成
chbox[i].Location=new Point(100,100+20*i); //フォーム上に20ピクセル間隔で配置
chbox[i].Width=60;
Controls.Add(chbox[i]);
//チェックボックスをコントロールとして追加
chbox[i].Text=youbi[i]; //曜日名の読込み
chbox[i].Tag=Convert.ToString(i); //チェックボックス判別用のタグを付ける
chbox[i].checked=false; //各チェックボックスのチェックを外す
this.chbox[i].CheckedChanged +=
new EventHandler(ch_change); //checkedイベントのハンドラを統一する
}
|
チェックボックスでcheckedイベントをハンドルする
上記により、7つのチェックボックスが配置済として話を進めます。上記のコードで、
chbox[i].Tag=Convert.ToString(i); とした部分で
各チェックボックスに"0"〜"6"の目印(タグ)を付けましたので、このタグで判別し、イベントをハンドルします。
チェックが入った曜日名を取得し、テキストボックスtextBox1に追加表示します。
private void ch_change (object sender, System.EventArgs e)
{
int i;
string[]
kyoubi={"月曜日","火曜日","水曜日","木曜日","金曜日","土曜日","日曜日");
//送信元の取得
i=Convert.ToUInt16(((CheckBox)sender).Tag);
//チェックボックスインデックスの取得
if (chbox[i].Checked)textBox1.Text+=kyoubi[i]+"\r\n";
//チェックされていれば、曜日名をテキストボックスに追加
}
|