やりたいこと
- 複数のタブページなどで、同じコントロールを表示したい
結論
単にアクティブになる方へ Controls.Add するだけです。
おそらく、裏でうまいことしてくれているのだと思いますが、どのように処理しているかは気になるところですが、そこまではまだ調べていません。
背景
- TabControlでPageを2つ作成した
- それぞのPageにはSplitContainerを配置し左右のペインを用意
- それぞれのPageのSplitContainerの左ペインでは同じTreeViewを表示したい
実装
private void tabControl1_SelectedIndexChanged(object sender, EventArgs e)
{
switch (tabControl1.SelectedIndex)
{
case 1:
splitContainer1.Panel1.Controls.Add(treeView1);
break;
case 2:
splitContainer2.Panel1.Controls.Add(treeView1);
break;
}
}
サンプル画面
元となっている記事
- (はてなブログ)C#で同じコントロールを使いまわす
以上