コントロールの再利用 : 組み込みダイアログ ボックスの使用
更新 : 2007 年 11 月
このレッスンでは、Visual Basic Express Edition に用意されている組み込みダイアログ ボックスのいくつかの使用方法について説明します。これらの組み込みダイアログ ボックスは、独自のダイアログ ボックスを作成してユーザーがフォームの背景色を選択できるようにしたり、独自の [ファイルを開く] ダイアログ ボックスを作成したりする代わりに使用できます。これにより、プログラムの外観と動作が、他の Windows ベース プログラムと同じになります。
アプリケーションで使用できるダイアログ ボックス コンポーネントには、いくつかの種類があります。これらは、ツールボックスの [ダイアログ] タブから使用できます。この種類のコンポーネントは、アプリケーションに追加しても、フォーム上にコントロールとして表示されるわけではありません。代わりに、フォームの下のコンポーネント トレイに追加されます。コンポーネントについては、「表示されないコントロール : コンポーネントを使用する」のレッスンで詳しく説明しています。
FolderBrowserDialog コンポーネントを使用すると、ユーザーがフォルダを参照できるようになります。たとえば、「フォルダ内のファイル名の取得」のレッスンで説明した方法で Pictures フォルダ内のグラフィック ファイルの名前を表示する代わりに、FolderBrowserDialog コンポーネントを使用して、グラフィック ファイルのある任意のフォルダをユーザーが参照できるようにすることが可能です。
ダイアログ ボックスを表示するには、ShowDialog メソッドを使用します。ユーザーが [OK] ボタンをクリックしたかどうかは、DialogResult.OK フィールドを使用してチェックできます。
やってみよう
フォルダ参照ダイアログ ボックスを表示するには
[ファイル] メニューの [新規作成] をポイントし、[プロジェクト] をクリックします。
[新しいプロジェクト] ダイアログ ボックスが表示されます。
[Windows フォーム アプリケーション] をクリックし、[OK] をクリックします。
フォームに Label を追加します。既定の名前「Label1」はそのままにしておきます。
フォームに Button コントロールを追加し、[プロパティ] ウィンドウで次のプロパティを変更します。
プロパティ
値
Name
FolderPath
Text
Path
フォームに FolderBrowserDialog コンポーネントを追加します。
コンポーネント トレイに FolderBrowserDialog1 が表示されます。
ボタンをダブルクリックして、コード エディタで既定のイベント ハンドラを入力します。
FolderPath_Click イベント ハンドラに次のコードを追加します。このコードは、フォルダ参照ダイアログ ボックスを表示し、選択されたパスをラベルに表示します。
If FolderBrowserDialog1.ShowDialog() = _ Windows.Forms.DialogResult.OK Then Label1.Text = FolderBrowserDialog1.SelectedPath End If
F5 キーを押してコードを実行します。
フォームが表示されたら、[Path] をクリックし、一覧でフォルダの 1 つをクリックし、[OK] をクリックします。
選択したパスがラベルに表示されることを確認します。
アプリケーションを閉じます。
テキストにフォントを適用する
FontDialog コンポーネントを使用すると、ユーザーが一覧からフォントを選択できるようになります。既定では、このダイアログ ボックスでフォントの色を選択することはできません。この機能は、ShowColor プロパティを設定することで有効にできます。
フォント ダイアログ ボックスを表示するには
フォームに Button コントロールをもう 1 つ追加し、[プロパティ] ウィンドウで次のプロパティを変更します。
プロパティ
値
Name
TextFont
Text
Font
フォームに FontDialog コンポーネントを追加します。
コンポーネント トレイに FontDialog1 が表示されます。
[Font] ボタンをダブルクリックして、コード エディタで既定のイベント ハンドラを入力します。
TextFont_Click イベント ハンドラに次のコードを追加します。このコードは、フォント ダイアログ ボックスを表示し、ユーザーによるフォントの変更をラベルのテキストに適用します。
FontDialog1.ShowColor = True If FontDialog1.ShowDialog() = _ Windows.Forms.DialogResult.OK Then Label1.Font = FontDialog1.Font Label1.ForeColor = FontDialog1.Color End If
F5 キーを押してコードを実行します。
フォームが開いたら、[Path] をクリックし、一覧でフォルダの 1 つをクリックして、[OK] をクリックします。
[Font] をクリックし、ダイアログ ボックスでフォントと色を選択して、[OK] をクリックします。
選択したフォントと色がラベルのテキストに適用されることを確認します。
アプリケーションを閉じます。
フォームに色を適用する
フォント以外に適用する色をユーザーが選択できるようにする場合は、ColorDialog コンポーネントを使用できます。たとえば、選択された色をラベルの BackColor プロパティに適用できます。
色のダイアログ ボックスを表示するには
フォームに Button コントロールをもう 1 つ追加し、[プロパティ] ウィンドウで次のプロパティを変更します。
プロパティ
値
Name
FormColor
Text
Color
フォームに ColorDialog コンポーネントを追加します。
コンポーネント トレイに ColorDialog1 が表示されます。
[Color] ボタンをダブルクリックして、コード エディタで既定のイベント ハンドラを入力します。
FormColor_Click イベント ハンドラに次のコードを追加します。このコードは、色のダイアログ ボックスを表示し、ユーザーの選択に従ってフォームの背景色を変更します。
If ColorDialog1.ShowDialog() = _ Windows.Forms.DialogResult.OK Then Me.BackColor = ColorDialog1.Color End If
F5 キーを押してコードを実行します。
フォームが開いたら、[Color] をクリックし、表示されたダイアログ ボックスで色をクリックして、[OK] をクリックします。
選択した色がフォームに適用されることを確認します。
アプリケーションを閉じます。
次の手順
このレッスンでは、FolderBrowserDialog コンポーネント、FontDialog コンポーネント、および ColorDialog コンポーネントの組み込み機能をアプリケーションで使用する方法について説明しました。
次のレッスンでは、アプリケーションの標準ツール バーを作成する方法について説明します。
次のレッスン : 「ボタンのプッシュ : ツール バーとボタンを追加する」
参照
参照
FolderBrowserDialog コンポーネントの概要 (Windows フォーム)
FontDialog コンポーネントの概要 (Windows フォーム)
ColorDialog コンポーネントの概要 (Windows フォーム)