手順 6: ボタン コントロールの名前の設定
PictureBox はフォームで 1 つだけ使用しています。このコントロールには、追加したときに自動的に pictureBox1 という名前が付けられています。CheckBox も 1 つだけで、checkBox1 という名前が付けられています。この後に記述するコードの中には、CheckBox と PictureBox を参照するものがあります。これらのコントロールについては、どちらも 1 つだけであるため、コードで pictureBox1 または checkBox1 となっていても何を指しているのかがわかります。
[!メモ]
Visual Basic の場合は、どのコントロールの名前も既定で先頭文字が大文字になるため、名前は PictureBox1、CheckBox1 のようになります。
ボタンはフォームに 4 つあり、button1、button2、button3、および button4 という名前が付けられています。現在の名前を見ただけでは、どれが [Close] ボタンでどれが [Show a picture] ボタンなのかわかりません。そのため、ボタン コントロールの名前を設定しておくと便利です。
このトピックのビデオ版については " " を参照してください。
ボタン コントロールの名前を設定するには
[Close] ボタンをクリックします (すべてのボタンが選択されたままになっている場合は、Esc キーを押して選択を解除します)。[プロパティ] ウィンドウで、(Name) プロパティが表示されるまでスクロールします (プロパティがアルファベット順になっている場合は、(Name) プロパティは上の方にあります)。次の図に示すように、名前を closeButton に変更します。
closeButton の名前が表示された [プロパティ] ウィンドウ
[!メモ]
ボタンの名前を、close と Button の間に空白文字を含む「closeButton」という名前に変更しようとすると、IDE で "プロパティの値が無効です" というエラー メッセージが表示されます。空白文字 (およびその他のいくつかの文字) は、コントロール名に使用できません。
他の 3 つのボタンの名前を backgroundButton、clearButton、および showButton に変更します。名前を確認するには、[プロパティ] ウィンドウにあるコントロール セレクターのドロップダウン リストをクリックします。新しいボタン名が表示されます。
Windows フォーム デザイナーで、[Show a picture] ボタンをダブルクリックします。次の図に示すように、IDE のメイン ウィンドウに [Form1.cs] タブという新しいタブが表示されます。
Visual C# コードが表示された [Form1.cs] タブ
コードの次の部分にフォーカスを設定します。
Private Sub showButton_Click() Handles showButton.Click End Sub
private void showButton_Click(object sender, EventArgs e) { }
showButton_Click() というメソッドが表示されています。これは、showButton ボタンをクリックしたときに IDE によって追加されたものです。このメソッドには、[Show a picture] ボタンがクリックされたときに実行されるコードが含まれます。
[!メモ]
このチュートリアルでは、自動的に生成される Visual Basic コードのかっこ () で囲まれた部分をすべて削除して、コードを簡略化してあります。このような場合は、コードの同じ部分を削除してかまいません。いずれの場合もプログラムは正常に機能します。チュートリアルの残りの部分では、自動的に生成されるコードについてはできる限り簡略化して示します。
デザイナーのタブ (Visual C# の場合は [Form1.cs [デザイン]] タブ、Visual Basic の場合は [Form1.vb [デザイン]] タブ) に移動し、[Clear the picture] ボタンをダブルクリックします。残りの 2 つのボタンについてもこの手順を繰り返します。それぞれについて、フォームのコードに新しいメソッドが追加されます。
メソッドをもう 1 つ追加するために、Windows フォーム デザイナーで CheckBox コントロールをダブルクリックします。IDE で checkBox1_CheckedChanged() メソッドが追加されます。このメソッドは、ユーザーがチェック ボックスのオンとオフを切り替えるたびに呼び出されます。
[!メモ]
プログラムの作業を行うときは、コード エディターと Windows フォーム デザイナーを頻繁に切り替えることになりますが、IDE ではプロジェクト内を簡単に移動することができます。ソリューション エクスプローラーを使用して Windows フォーム デザイナーを開くには、Visual C# の場合は [Form1.cs]、Visual Basic の場合は [Form1.vb] をダブルクリックします。
コード エディターに表示される新しいコードを次に示します。
Private Sub clearButton_Click() Handles clearButton.Click End Sub Private Sub backgroundButton_Click() Handles backgroundButton.Click End Sub Private Sub closeButton_Click() Handles closeButton.Click End Sub Private Sub CheckBox1_CheckedChanged() Handles CheckBox1.CheckedChanged End Sub
private void clearButton_Click(object sender, EventArgs e) { } private void backgroundButton_Click(object sender, EventArgs e) { } private void closeButton_Click(object sender, EventArgs e) { } private void checkBox1_CheckedChanged(object sender, EventArgs e) { }
[!メモ]
追加した 5 つのメソッドは、(ユーザーがボタンをクリックしたときやチェック ボックスをオンにしたときなど) イベントが発生するたびにプログラムで呼び出されることから、イベント ハンドラーと呼ばれます。
IDE でコントロールをダブルクリックすると、コントロールのイベント ハンドラー メソッドが追加されます。たとえば、ボタンをダブルクリックすると、そのボタンの Click イベントに対するイベント ハンドラー (ユーザーがボタンをクリックするたびに呼び出されるイベント ハンドラー) が追加されます。チェック ボックスをダブルクリックすると、そのチェック ボックスの CheckedChanged イベントに対するイベント ハンドラー (ユーザーがチェック ボックスのオンとオフを切り替えるたびに呼び出されるイベント ハンドラー) が追加されます。
コントロールのイベント ハンドラーを追加した後は、Windows フォーム デザイナーでコントロールをダブルクリックすると、いつでもイベント ハンドラーに戻ることができます。
[!メモ]
名前は、プログラムを作成するときに重要になります。メソッド (イベント ハンドラーを含む) には任意の名前を付けることができます。IDE でイベント ハンドラーを追加した場合は、コントロールの名前と処理されるイベントに基づいて名前が選択されます。たとえば、showButton というボタンの Click イベントのイベント ハンドラー メソッドには showButton_Click() という名前が付けられます。また、メソッドであることを明確にするために、通常はメソッド名の後に左かっこと右かっこ () が追加されます。
続行または確認するには
チュートリアルの次の手順に進むには、「手順 7: フォームへのダイアログ コンポーネントの追加」を参照してください。
チュートリアルの前の手順に戻るには、「手順 5: フォームへのコントロールの追加」を参照してください。