ユーザー コントロールでのイベントの実装とメイン フォームでのイベントの処理
カスタム ユーザー コントロールを作成する場合、イベントをトリガーする必要がある場合があります。メインフォームで処理されます。これにより柔軟性が提供され、アプリケーション内のさまざまなコンポーネント間の制御が向上します。
この機能を実装するには、コントロール内でイベントが発生したときに発生するイベント ハンドラーをユーザー コントロール内に作成する必要があります。これにより、イベントをメイン フォームにバブルアップして、それに応じて処理できるようになります。
たとえば、数値のアップダウン コントロールを備えたカスタム ユーザー コントロールを考えてみましょう。このコントロールの値が変更されたときに、メイン フォームで表示ウィンドウを更新する必要があります。
イベント処理コード
ユーザー コントロールで、次のイベント ハンドラーを作成します。以下に示す数値アップダウン コントロール:
[Browsable(true)] [Category("Action")] [Description("Invoked when user clicks button")] public event EventHandler ButtonClick;
数値アップダウン コントロールのイベント処理メソッドでは、 ButtonClick イベントをトリガーしてフォームにバブルアップします:
protected void Button1_Click(object sender, EventArgs e) { //bubble the event up to the parent if (this.ButtonClick != null) this.ButtonClick(this, e); }
メイン フォームで、ユーザー コントロールの ButtonClick イベントをサブスクライブします:
UserControl1.ButtonClick += new EventHandler(UserControl_ButtonClick);
最後に、イベントを処理します。主にフォーム:
protected void UserControl_ButtonClick(object sender, EventArgs e) { //handle the event }
メモ:
以上がメイン フォームでカスタム ユーザー コントロール イベントを実装して処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。