• 締切済み

変更イベント

テキストフィールドAとBがあり、どちらか一方でもテキストを変更されると ボタンCのEnabled属性がtrue(デフォルトでfalseに設定している)ようにしたいと考えています。 通常ならば、テキストフィールドAとBのTextChangedイベントに ボタンCのEnabled属性をtrueとするように記述すれば良いだけなのですが 今回、テキストフィールドAとBは汎用的なユーザーコントロールD内に存在しており ボタンCはそのユーザコントロールDを含むフォーム上に存在しています。 つまり、ユーザコントロール上に存在するテキストフィールドが変更された時に フォーム上のボタンのEnabled属性をtrueとしたいのですが テキストフィールドのTextChangedイベントの処理内容にフォームに対する処理を記述すると フォームとユーザコントロールの依存度が高くなるのでそれを避けたいのです。 できればユーザコントロールの内容が変更されたときのイベントを フォーム側で拾えると一番いいかと思うのですが そのようなことは可能でしょうか? あるいは何かいい方法はございますでしょうか?

みんなの回答

  • miyuyu
  • ベストアンサー率61% (30/49)
回答No.1

環境はVB.NETでしょうか ボタンのEnable/Disableするタイミングの イベントをユーザーコントロールに追加してあげれば如何でしょうか そのイベントを使うか使わないかは、プログラマー次第 ってそういうことではないかな?

kyonn2008
質問者

お礼

すみません、環境を記載し忘れました。 開発環境:VS2008 実行環境:.NET Framework 2.0 >イベントをユーザーコントロールに追加してあげれば如何でしょうか AddHandlerのようなイベントに対してメソッドを追加するのではなく、 そもそもイベントを追加する方法があるのですか!? 具体的な方法として、どういうものを使うのかキーワードだけでもお教え頂けないでしょうか?

kyonn2008
質問者

補足

※注 お礼欄を先にお読みください。 すいません、自己解決致しました。 EventとRaiseEventを使ってやるのですね。 回答ありがとうございました。

関連するQ&A