2009-08-03 14 views
2

私はいくつかのラジオボタンとボタンを持つユーザーコントロールを持っています... ボタンのクリックイベントとラジオボタンのCheckedChangeイベントを処理するコードがあります。WinFormに動的に追加されたユーザーコントロールは、内部コントロールイベントを発生させません。

このuserControlをフォームパネルに動的に追加した後、内部コントロールのイベントが発生していないことがわかりました。

私は、ユーザーコントロールの「新しい」を作成し、PanelのControlsコレクションに追加しています。 私はまた、ユーザーコントロールの "表示"メソッドを呼び出しています。

ユーザーコントロールのLoadEventが呼び出されました... OnLoadイベントハンドラのラジオボタンの1つをプログラムでチェックすると... CheckedChangeイベントが発生しますが、これを "マウスで"実行すると、それは動作しません。

なぜインナーコントロールのイベントが発生していないのですか?

ありがとうございます!

+0

あなたは答えを見つける - それを閉じます。 – Avram

答えて

1

問題は解決しました。

私のusercontrolのコンストラクタでは、InitializeComponent()へのDOUBLE呼び出しが見つかりました...コピー貼り付けエラーでした。

+0

これを「回答」とマークして、「未回答」セクションに表示されないようにしてください... – awe

+0

申し訳ありません...それは 'その瞬間に私を許してください。それから私は忘れてしまいます。 – Romias

0

たぶん、動的CheckedChangedにイベントを設定する必要が:

radioButton1.CheckedChanged += new EventHandler(radioButton1_CheckedChanged); 
+0

mmm ... usercontrolは動的に作成されますが、そのコントロールは設計時に作成されます。 – Romias

+0

ラジオボタンからイベントを捕捉する必要はありますか?内部UserControl - イベントがバインドされていることを確認します。メインフォーム(パネル)の場合は、メインフォームのイベントを作成します(userControl.radioButton.CheckedChanged + =新しいEventHandler(メインフォームのメソッド)); – Chernikov

+0

UserControlはウィザードステップですので、ユーザーが選択したRadioButtonを変更すると、それを処理し、後でメインフォームで消費されるプロパティを設定する – Romias

関連する問題