フォーム」テンプレートを選ぶと、Windowsエクスプローラのように、左側にツリー表示、右側にアイコン表示やリスト表示ができる、2分割されたWindowsフォームをプロジェクトに追加できる。このテンプレートは、C#のWindowsフォームには付属していない。画像中の各番号については後述。MDI親フォームでも取り上げたコントロールなので詳しい説明は割愛する。以降では、残りの5つのコントロールの内容を詳しく説明しよう。フォーム」テンプレートで生成したひな型のWindowsフォームでは、タイトルバーの下に、ツールバー、メニューバーの順番で並ぶ。通常のWindowsフォームのレイアウト・デザインでは、メニューバーの下にツールバーがくるので、その順番に変更するには図10のようにプロパティを変更する。MenuStripコントロールとToolStripコントロールの位置調整なお、生成されたエクスプローラ・フォームでは、ToolStripContainerコントロールの上側のToolStripPanelコントロール内にMenuStripコントロールとToolStripコントロールが配置されているため、両コントロールのDockプロパティは「None」となり「Top」は指定できない(Noneに戻ってしまう)(ToolStripContainerコントロールとToolStripPanelコントロールの詳細は後述)。●ToolStripContainerコントロールToolStripContainerコントロール内には、上下左右にToolStripPanelコントロールが配置されている。ToolStripコントロール(=ツールバー)をToolStripPanelコントロール上に配置することで、実行時にツールバーをWindowsフォームの上下左右の任意の位置に移動できるようになる。ツールバーの移動ToolStripPanelコントロールは四辺に貼り付いた形になっており、余白がまったくないので、コントロールの追加や編集といった作業が行いにくい。そこで設計時には、IDEで図11に示す取っ手をクリックして領域を広げることで、そういった作業が行いやすくなる。●SplitContainerコントロールSplitContainerコントロールは2分割した領域を管理するコントロールだ。図9で、画面左側のTreeViewコントロール領域と画面右側のListViewコントロール領域を分けているのが、SplitContainerコントロールになる。IDEでの設計時だけではなく、実行時にも分割線をマウスでドラッグして分割する割合を変化させることができる。●TreeViewコントロールTreeViewコントロール(=ツリービュー)を使いたい場面はよくあるが、実際に使用する段階で、どのようにツリービューにデータを設定するのか悩んだ人も多いのではないだろうか。そのような方には、自動生成されたLoadTreeサブルーチンの内容が参考になるだろう。LoadTreeサブルーチンでは、ツリーのルートになるノードを「TreeView.Nodes.Add("Root")」というコードで追加するとともに、その戻り値でルート・ノードのオブジェクトを変数に受け取り、その変数のNodes.Addメソッドを呼び出すことで、さらに子ノードを追加していく、というコードになっている。具体的には下記のコードを参照されたい。ドキュメント」フォルダの中のフォルダ階層をツリービューに表示するように改造してみた(下記のリスト7を参照)。VBのコードを元にC#のコードも書き起こしたので参考にしてほしい。ドキュメント」以下すべてのフォルダをツリービューに設定(上:VB、下:C#)●ListViewコントロールツリービューを使うならば、その右側にはやはりリストビュー(=ListViewコントロール)を配置したいところだ。フォーム」テンプレートでも、もちろん右側にはListViewコントロールが配置されている。自動生成されているコードは無味乾燥なものなので、ツリービューで選択したフォルダのファイル一覧をリストビューに表示するように改造した。次の画面はその実行例だ。下記のコードは、改造版のコードである。指定したフォルダにあるファイル名を表示する(上:VB、下:C#)●ImageListコントロールリスト8では、リストビューのItems.Addメソッドを呼び出して項目を追加したときに、その項目のImageKeyプロパティを指定している。このImageKeyプロパティには、ListViewコントロールのLargeImageListプロパティやSmallImageListプロパティに指定されているImageListコンポーネント(=画像のコレクションを管理するオブジェクト)にコレクションされている1つの画像の名前を設定する(画像の名前については後述)。フォーム」テンプレートでは、「ListViewLargeImageList」「ListViewSmallImageList」などのImageListコンポーネントが自動生成されている。エディター]ダイアログ(次の画面を参照)で行う。エディター]ダイアログで[追加]ボタンをクリックすれば、画像ファイルを選択するための[開く]ダイアログが表示されるので、そこで画像ファイルを指定すればコレクションに追加される。リスト8では「Graph1」という画像の名前を指定しているが、これはImageListコンポーネントである「ListViewLargeImageList」と「ListViewSmallImageList」のコレクションに自動的に追加されている「Graph1」の画像のことである。図14を見ると、このほかに「Graph2」や「Graph3」という画像がコレクションされているのが分かる。●自動生成されたそのほかのコードについて自動生成されたコードには、そのほかにもリストビューを「リスト」「詳細」「大きいアイコン」「小さいアイコン」「並べて表示」などのスタイルで表示するためのコードなどが含まれている。これらのコードについてもC#のコードを書き起こしているので、ぜひ(冒頭で紹介した)サンプル・コードを(ダウンロードして)参照してほしい。スクリーン」テンプレートの生成内容を説明する。7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。TranslatorはPowerPoint用のアドイン。