0

内部に定義されていない数のサブコンポーネントを含むコンポーネントを作成したいのですが、これらのサブコンポーネントのイベント処理の問題に遭遇しました。ケースに近づくと、キーイベント処理用の関数を作成しました

void keyField_KeyDown(System::Object^  sender, System::Windows::Forms::KeyEventArgs^  e) {
    ((System::Windows::Forms::TextBox^)sender)->Text = e->KeyValue->ToString();
    }

メカニズムは同じなので、この機能をすべての新しいサブコンポーネントに追加することを考えていました。ただし、送信者はコンポーネント自体であるため、ケースはまだ開いています。実際にイベントを発生させたオブジェクトへの参照を保持するある種の TAG フィールドを持つ KeyEventHandler から継承する新しいクラスを作成する必要がありますか? それはうまくいきますか?デリゲートを機能させる方法は次のようになります(イベント処理の背後で何が起こっているのか本当にわかりません)

もう1つの方法は、カスタム作成されたサブコンポーネントを保持し、ローカルで問題を処理するコンポーネントに作成しようとしているコンポーネントをバーストすることですが、別の方法が必要だと思います.

4

0 に答える 0