C# ツールバーを作る(1/3)(ToolStripコントロール)

      2017/06/30

Windwos フォームアプリケーションで「ツールバー」を使うと直感的な操作を行えるので便利です。
今回は、コーディングのみでToolStripコントロールを使ってツールバーを作る方法を紹介します。

 

Windows フォームにコーディングでコントロールを追加する

Windows フォームにコード上でコントロールを追加するときには、ちょっとした「お作法」があります。
それは、コントロールをフォームに追加(配置して表示)するときに、「レイアウトを一時停止」して
フォームに追加が終わったら「レイアウトを再開」するようにすることです。
(レイアウトを一時停止しなくてもフォームに追加はできますが、数が増えるとちょっとみっともない見え方になったりします)

コードとしては、下記のようなコードを追加することになります。

 

これは通常のフォームデザイナで追加・配置をしているコントロールはすべてInitializeComponent()が用意してくれます。
InitializeComponent()の実装個所は”<フォーム名>.Designer.cs”になります。
このInitializeComponent()の最初と最後に上記と同じようなコードがあります。

 

ツールバーの元(ToolStrip)を追加する

フォームに、ToolStrip(System.Windows.Forms名前空間)クラスオブジェクトを追加してツールバーを表示させます。

 

 

このオブジェクトを先ほどのコードと組み合わせて、ツールバーを表示させます。

 

 

これだけで、「ツールバー」は表示されます。
表示されますが、何もない土台だけのツールバーですので何もできません。
ここにいろいろなものを乗せてツールバーにします。

 

ツールバーにコントロールを追加する前に

これからツールバーにボタンなどのコントロールを追加していくことになるのですが、このToolStrip自身も「コントロール」です。

このコントロールにさらにいろいろなコントロールを乗せていくと、ゆくゆくはフォームにコントロールを乗せるときと同じような問題が発生します。

これを防ぐために、ツールバーにコントロールを乗せる前後にもフォームと同じような「レイアウトの一時停止」を行います。

 

 

ツールバーにボタンを追加する

ツールバーにボタンを追加する場合、通常のボタン(System.Windows.Forms.Buttonクラス)ではなく
System.Windows.Forms.ToolStripButtonクラスのボタンを追加します。

 

 

ツールバーのボタンでよく見る画像だけのボタンを追加するには、下記のようなコードになります。
Textプロパティに文字列を追加しているのは、こうしておくと「ツールチップ」としてこの文字列を表示させることができます。

 

 

 - 未分類