C# 入門 & 実践 / C sharp
5-8. Container - 1 - GroupBox , Panel
GroupBox はチェックボックスの項で利用しましたが、
Panel も似たような機能です。
大きな違いは
GroupBox : キャプション表示できる。
Panel : 含んでいるコントロールのサイズによりスクロールバーを利用できる。
だそうです。
あとは、タブオーダーを利用したりするのがメリットですね。
また、開発効率の部分でグループ化したコントロール群を簡単に複製利用したりできるということらしいです。
早速使ってみます。
Panel の AutoScroll を true に設定。
少しはみ出すようにPictureBoxを設定。
とこんな感じになります^-^;
チェックボックスを2つずつ付けて
タブオーダーで順番に移動するように設定
GroupBox
1
2
Panel
3
4
の順にしてみます。
パネルを跨ぐのは出来ない?ようです。
GroupBox
1
3
Panel
2
4
のような動きは出来ません。
所属コントロール
それぞれにボタンを付けて、グループ化されているコントロールを表示してみます。
private void checkControl(object sender)
{
string msg = "";
foreach( object o in groupBox1.Controls )
{
if (o.Equals(sender))
{
msg += "= in GroupBox1 =\n";
msg += viewControls( groupBox1.Controls );
}
}
foreach (object o in panel1.Controls)
{
if (o.Equals(sender))
{
msg += "= in Panel1 =\n";
msg += viewControls(panel1.Controls);
}
}
MessageBox.Show(msg);
}
private string viewControls(Control.ControlCollection cons)
{
string msg = "";
foreach( object o in cons )
{
msg += o.ToString() + "\n";
}
return msg;
}
private void button1_Click(object sender, EventArgs e)
{
checkControl(sender);
}
private void button2_Click(object sender, EventArgs e)
{
checkControl(sender);
}
Panelのボタンをクリックすると
このようにPanel1 のコントロールを表示。
5-7 . PictureBox , ToolTips, ProgressBar でスライドショー。 «
5. Windows アプリケーション »
5-9. Container - 2 - SplitContainer , TabControl
C# 入門 & 実践 / C sharp