ホームページ > バックエンド開発 > C++ > メイン フォームでカスタム ユーザー コントロール イベントを実装して処理するにはどうすればよいですか?

メイン フォームでカスタム ユーザー コントロール イベントを実装して処理するにはどうすればよいですか?

DDD
リリース: 2025-01-04 01:13:40
オリジナル
814 人が閲覧しました

How to Implement and Handle Custom User Control Events in Main Forms?

ユーザー コントロールでのイベントの実装とメイン フォームでのイベントの処理

カスタム ユーザー コントロールを作成する場合、イベントをトリガーする必要がある場合があります。メインフォームで処理されます。これにより柔軟性が提供され、アプリケーション内のさまざまなコンポーネント間の制御が向上します。

この機能を実装するには、コントロール内でイベントが発生したときに発生するイベント ハンドラーをユーザー コントロール内に作成する必要があります。これにより、イベントをメイン フォームにバブルアップして、それに応じて処理できるようになります。

たとえば、数値のアップダウン コントロールを備えたカスタム ユーザー コントロールを考えてみましょう。このコントロールの値が変更されたときに、メイン フォームで表示ウィンドウを更新する必要があります。

イベント処理コード

ユーザー コントロールで、次のイベント ハンドラーを作成します。以下に示す数値アップダウン コントロール:

[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 
}
ログイン後にコピー

メモ:

  • Visual Studio の新しいバージョンでは、ButtonClick?.Invoke(this, e); を使用できます。 if (this.ButtonClick != null) this.ButtonClick(this, e);.
  • Browsable、Category、および description の各属性は、Visual Studio のデザイナーでイベントを表示できるようにすることで、ユーザー エクスペリエンスを向上させます。

以上がメイン フォームでカスタム ユーザー コントロール イベントを実装して処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート