こんにちは。私は、テキストボックスを含む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#WebBrowserコントロールがDocumentCompletedイベントを発生させない
- 3. C#でイベントを発生させて出力しますか?
- 4. SyncFusionのSFAutoCompleteコントロールで変更イベントを発生させる
- 5. XAMLでコントロールのイベントを発生させる
- 6. Asp.net電子メールを発行しても公開しません。
- 7. ValueChangedイベント(Winforms)を発生させずにNumericUpDownコントロールの値を更新します。
- 8. WPF ListBoxEditコントロール - PageDownイベントをプログラムで発生させる
- 9. HTMLコントロールのイベントは発生しませんか?
- 10. HTTPモジュールを使用してイベントを発生させるコントロールを取得する
- 11. JavaScriptイベントを発生させたASP.NETコントロールを確認しますか?
- 12. Google Mapバグ、DragendイベントIE内でClickイベントを発生させる
- 13. 他のコントロールのイベントを発生させることは可能ですか?
- 14. テキストボックスに離脱イベントを発生させたコントロール(ボタンクリック)をキャッチ
- 15. 親に子イベントを公開する
- 16. 動的に追加されたコントロールのイベントは発生しません。
- 17. 公開後にApplication_errorイベントが発生しない
- 18. 公開されたコードでSystem.StackOverFlowExceptionエラーが発生しました
- 19. ActiveXコントロールからイベントを発生させる方法
- 20. Control + Cではイベントを発生させますが、コピーは許可します
- 21. 子コントロールから親コントロールにボタンを公開する
- 22. onItemDisclosureイベントを発生させるとitemtapイベントが発生する
- 23. 公開されているサービスクラスの公開クラスがありませんC#
- 24. Windowsサービス(C#)はサブスクリプションなしでイベントを発生しません。
- 25. Silverlightイベントを発生させ、さらに1秒後に別のイベントを発生させます
- 26. ダイナミックコントロールで発生したイベントへのレイトバインディング - イベントは発生しません
- 27. エスケープキーを押してRowEditEndingイベントを発生させます。
- 28. VSTSビルドエージェントが「アーティファクトの公開:drop」ステップで発生します
- 29. ViewFlipperのonTouchイベントは、子ボタンのonClickイベントが発生していないときに発生します
- 30. C#でイベントを発生
素晴らしいこと!私は明示的にイベントハンドラを追加することで、私は何か同様のことをしました。私は子コントロールを公開してユーザコントロールを介して公開していました。あなたの提案はそれのちょっとした方法です!ありがとう! –
この優秀さにもかかわらず、このソリューションには大きな欠点があります:ハンドラに渡される 'sender'引数はUserControlではなくButtonになります...これにより、コントロールのいくつかのインスタンスに対して同じハンドラを使用することができなくなります –
この仕事をするために何か他に?何らかの理由で、宣言的に追加されたイベントハンドラが機能しない – Nap