この特集のトップページへ
Chapter 7:プレゼンテーション層の構築

7.4.2 顧客の新規登録
●[新規]ボタンが押されたときの処理
 さて,話は少し戻って,ユーザーが顧客情報のウィンドウ(Fig.7-16)から[新規]ボタンを押したときにどのような処理をすべきかについて考える。結局のところ,[新規]ボタンを押したときには,Fig.7-23に示したFormEditCustomerフォームを表示すればよいのだが,それだけでは少々問題がある。というのは,単純にFormEditCustomerフォームを表示しただけでは,FormEditCustomerフォーム上のテキストボックスに表示されるテキストが不定であるためである。やはり,新規登録のときには,すべてのテキストボックスに表示されるテキストを空にしておきたい。もちろんこれは,Visual Basic上で,すべてのテキストボックスのテキストを示すTextプロパティを空に設定しておけばよいのだが,最初に表示されたときはよくても,2回目に表示したときには1回目にユーザーが入力したテキストがそのまま残ってしまうので,好ましくない。

 そこで,FormEditCustomerフォームにList 7-8に示すNewCustomerというメソッドを実装することにする。

 NewCustomerメソッドは,FormEditCustomerフォーム上のすべてのテキストボックスのテキストを空にするというだけのものである。ユーザーが[新規]ボタンを押したときには,単純にFormEditCustomerフォームを表示するのではなく,そのまえに必ずNewCustomerメソッドを呼び出すということにすれば,ユーザーにFormEditCustomerフォームが表示されるときには,テキストボックスが空の状態で表示されることになる。

 では実際に,[新規]ボタンが押されたときの処理を記述してゆこう。[新規]ボタンは,BTN_NEWという名前とした(Fig.7-16)。ボタンが押されたときには,Clickイベントが発生するから,その処理はBTN_NEW_Clickという名前のプロシージャに実装すればよい(List 7-9)。

 List 7-9では,まず,FormEditCustomerフォームのNewCustomerメソッドを呼び出し,テキストボックスのテキストを空にする(4行目),そして次に,FormEditCustomerフォームのShowメソッドを呼び出し,FormEditCustomerフォームを表示する(5行目)。Showメソッドの引数に1を指定したのは,FormEditCustomerフォームをモーダルウィンドウとして表示するためである。モーダルウィンドウとして表示した場合,ユーザーが表示されたウィンドウを閉じるまで,次の行の処理には進まないようになる。

Prev 13/134 Next