プログラミング・動画編集 備忘録

プログラミングや動画編集についての備忘録です

C#で同じコントロールを使いまわす

はじめに

久々にC#をやっているせいか、色々と忘れています。
そもそもC# 6.0になっていたり、コンパイラオープンソース化されていたり、C# 7も出てきていたり。
古い方式でコーディングしていたりなので、その辺にも目を向けていかないとです。

さて、この記事はタイトル通りのことをするのに、あれ?どうするんだっけとしばらく悩んだ挙句、アホみたいなことでしたので戒めのため。
また、そういった覚書なりを折角だから残して以降と思っています。

やりたかったこと

ログビューワーを作っていて、タブで表示機能を切り分けたい。
その際、ツリービューはあるタブとあるタブとで同じものとしたい。
単純に、表示する親となるコントロールに追加するだけでした。

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;
    }
}

この例では、フォームにタブコントロールを貼り付け、それぞれのタブ内に左右に分かれる形でスプリッターを貼り付けて、それぞれのタブの左ペインには同じツリービューを用いるというものです。
f:id:rrryutaro:20161220210822p:plainf:id:rrryutaro:20161220210828p:plain

色々と学びなおさないことが多々あります・・・

Qiitaで作り直した記事

qiita.com