SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

ComponentZine(ComponentOne)(AD)

TreeView for WinFormsで高機能なツリービューを実現

  • このエントリーをはてなブックマークに追加

TreeView for WinFormsを使ってみる

 それでは簡単なサンプルを作成してみましょう。

 Visual Studioを起動し上部メニューの「ファイル」→「新規作成」→「プロジェクト」をクリックします。

プロジェクトの作成

プロジェクトの作成
プロジェクトの作成

 「新しいプロジェクト」ポップアップウィンドウの左ナビから「インストール済み」→「テンプレート」→「Visual C#」→「Windows クラシック デスクトップ」を選択し、中央の一覧から「Windows フォーム アプリケーション」テンプレートを選択します。

テンプレートの選択
テンプレートの選択

 名前の項目は任意ですが、本記では「TreeViewSample」という名前でプロジェクトを作成して進めます。

 ウィンドウの右下「OK」をクリックします。

コントロールの追加

 これまでTreeView for WinFormsを利用したことがない場合は、コントロールを追加します。

 上部メニューの「ツール」→「ツールボックスアイテムの選択」をクリックします。

「ツールボックスアイテムの選択」をクリック
「ツールボックスアイテムの選択」をクリック

 「ツールボックスアイテムの選択」ウィドンウの「.NET Frameworkコンポーネント」タブから、C1TreeViewにチェックを入れて「OK」ボタンをクリックします。

 C1TreeView項目は2つ表示される場合もありますが、名前空間が「C1.Win.TreeView」のものを選択します。

C1TreeViewの追加
C1TreeViewの追加

コントロールの配置

 プロジェクトを作成すると、初期状態でForm1.csが中央のデザイナー画面に表示された状態で始まります。Form1.csが表示されていない場合は、Visual Studioの右ナビの「ソリューションエクスプローラー」ウィンドウの一覧から「Form1.cs」上で右クリック→「ビューデザイナー」をクリックします。

Form1.csが開かれたデザイナー画面
Form1.csが開かれたデザイナー画面

 左側のツールボックスから「C1TreeView」をドラッグしてデザイナー画面にドロップします。

ツールボックスからC1TreeViewをドラッグする
ツールボックスからC1TreeViewをドラッグする

エディタからノードを追加する

 C1TreeViewはエディタ画面からプログラムコード無しで、ツリービューの項目(ノード)を追加することができます。

 ノードを追加するにはデザイナー画面の配置されたC1TreeViewコントロール上で右クリック→「ノードの編集」をクリックします。

「ノードの編集」をクリック
「ノードの編集」をクリック

 「ノードの編集」をクリックすると「ツリーノードエディター」ウィンドウが表示されます。

 「ツリーノードエディター」ウィンドウの左下の「追加」ボタンをクリックするとノードが追加されます。

ノードを追加
ノードを追加

 ノードを選択し、ウィンドウ左下の「子の追加」ボタンをクリックすると、選択したノードの子ノードが追加されます。

子ノードを追加
子ノードを追加

 ウィンドウ右下の「OK」ボタンを押して編集を終了します。

プログラムからノードを追加する

 ノードの追加はプログラムコードから行うこともできます。

 デザイナー画面に追加したC1TreeViewは、デフォルトで「c1TreeView1」という値がNameプロパティに指定されています(複数配置した場合などは末尾の数字が異なります)。Windows Formsの標準のコントロール同様、プログラム側でNameプロパティの値を用いてコントロールにアクセスできます。

 まず、先にプログラムからノードを追加した結果を見ておきましょう。

 下の画像のように、ツリーノードエディターであらかじめ追加してあった「親ノード」というノードの他に「親ノード2」というノードと、その下に子ノードが追加されています。

プログラムからノードを追加した結果
プログラムからノードを追加した結果

 以下がツリービューにノードを追加するコードです。

 C1TreeViewに「親ノード2」という名前のノードを追加し、その子ノードとして「子ノード3」というノードを追加しています。

プログラムからノードを追加する
private void Form1_Load(object sender, EventArgs e)
{
    // using句に「using C1.Win.TreeView;」を追加
    C1TreeNode node1 = new C1TreeNode();

    node1.SetValue("親ノード2");

    // ツリービューにノードを追加する
    c1TreeView1.Nodes.Add(node1);

    // 子ノードを追加する
    C1TreeNode node2 = new C1TreeNode();

    node2.SetValue("子ノード3");

    node1.Nodes.Add(node2);
}

 アプリケーションを実行すると、以下のようにノードが追加されていることを確認できます。

アプリケーションの実行結果
アプリケーションの実行結果

次のページ
TreeView for WinFormsの特徴[1]

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
ComponentZine(ComponentOne)連載記事一覧

もっと読む

この記事の著者

西村 誠(ニシムラ マコト)

 Microsoft MVP Windows Platform Development。 Flash、PHPの開発経験もあり国産ECサイト構築フレームワーク「EC-CUBE」の公式エバンジェリストでもある。 ブログ:眠るシーラカンスと水底のプログラマー 著書:基礎から学ぶ Windowsストアアプリ開発

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/10384 2018/02/02 16:39

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング