こんにちは。私は、テキストボックスを含むUserControlを持っています。テキストボックスのtextchangedイベントにアクセスしたいのですが、usercontrolのイベントプロパティでは、テキストボックスのイベントは表示されません。 C#で公開されている公開されているWinformsのUserControlから子コントロールの特定のイベントを公開して処理するにはどうすればよいですか。cでユーザコントロール内の子コントロールのイベントを公開して発生させます。
23
A
答えて
36
あなたは新しいイベントを表面化し、必要であれば、ストレート制御に至るまでの任意のサブスクリプションを渡すことができます。
public class UserControl1 : UserControl
{
// private Button saveButton;
public event EventHandler SaveButtonClick
{
add { saveButton.Click += value; }
remove { saveButton.Click -= value; }
}
}
1
TextBox全体をユーザーコントロールのパブリックプロパティとして公開し、必要に応じてイベントに登録します。
例:
theUserControl.MyText.WhatEverEvent += ...
・ホープ、このことができます:あなたがそうのようなそのイベントのいずれかに加入することができ、これを行った後
class myUserControl: UserControl {
private TextBox _myText;
public TextBox MyText { get {return _myText; } }
}
!
+0
おかげで、私は今のと同様の事を行っていました。上に提供されたエレガントなソリューションをお探しでした。ご協力ありがとうございます。+ 1 –
関連する問題
- 1. COMに公開されているクラスライブラリのイベントを発生
- 2. C#でイベントを発生させて出力しますか?
- 3. C#WebBrowserコントロールがDocumentCompletedイベントを発生させない
- 4. Asp.net電子メールを発行しても公開しません。
- 5. HTMLコントロールのイベントは発生しませんか?
- 6. Google Mapバグ、DragendイベントIE内でClickイベントを発生させる
- 7. HTTPモジュールを使用してイベントを発生させるコントロールを取得する
- 8. JavaScriptイベントを発生させたASP.NETコントロールを確認しますか?
- 9. 公開後にApplication_errorイベントが発生しない
- 10. 動的に追加されたコントロールのイベントは発生しません。
- 11. 他のコントロールのイベントを発生させることは可能ですか?
- 12. Control + Cではイベントを発生させますが、コピーは許可します
- 13. ActiveXコントロールからイベントを発生させる方法
- 14. onItemDisclosureイベントを発生させるとitemtapイベントが発生する
- 15. 公開されているサービスクラスの公開クラスがありませんC#
- 16. Windowsサービス(C#)はサブスクリプションなしでイベントを発生しません。
- 17. Silverlightイベントを発生させ、さらに1秒後に別のイベントを発生させます
- 18. ダイナミックコントロールで発生したイベントへのレイトバインディング - イベントは発生しません
- 19. ViewFlipperのonTouchイベントは、子ボタンのonClickイベントが発生していないときに発生します
- 20. iPhoneクロックを使用してアプリ内でイベントを発生させる
- 21. 子コントロールから親コントロールにボタンを公開する
- 22. キャンバスの空白は、Flexでイベントを発生させません。
- 23. C#でイベントを発生
- 24. DataTemplate内のTextBoxイベントが発生しません
- 25. C#WindowsフォームでMouseWheelイベントを発生させることはできません
- 26. JavaScriptでイベントを発生させる
- 27. Javascriptで「ペースト」イベントを発生させる
- 28. DataGridView_CellContentClickの実行中に別のコントロールのイベントを発生させるには?
- 29. のonchangeイベントは発生しません
- 30. Global.asaxのイベントは発生しません
素晴らしいこと!私は明示的にイベントハンドラを追加することで、私は何か同様のことをしました。私は子コントロールを公開してユーザコントロールを介して公開していました。あなたの提案はそれのちょっとした方法です!ありがとう! –
この優秀さにもかかわらず、このソリューションには大きな欠点があります:ハンドラに渡される 'sender'引数はUserControlではなくButtonになります...これにより、コントロールのいくつかのインスタンスに対して同じハンドラを使用することができなくなります –
この仕事をするために何か他に?何らかの理由で、宣言的に追加されたイベントハンドラが機能しない – Nap