Witam. Mam UserControl, który zawiera pole tekstowe. Chciałem uzyskać dostęp do zdarzenia textchanged w polu tekstowym, ale w właściwości zdarzenia kontrolki użytkownika nie widzę zdarzeń dla pola tekstowego. W jaki sposób można wyświetlić i obsługiwać określone zdarzenia kontroli podrzędnych z publicznie narażonych UserControl w WinForm w C#.Narażać i podnieść wydarzenie kontroli podrzędnej w kontroli użytkownika w C#
23
A
Odpowiedz
36
Można powierzchnia nowego zdarzenia i przekazać żadnych subskrypcji prosto do kontroli, jeśli chcesz:
public class UserControl1 : UserControl
{
// private Button saveButton;
public event EventHandler SaveButtonClick
{
add { saveButton.Click += value; }
remove { saveButton.Click -= value; }
}
}
1
Ujawnij cały obiekt TextBox jako własność publiczną w kontroli użytkownika i zasubskrybuj jego wydarzenia zgodnie z oczekiwaniami.
Przykład:
class myUserControl: UserControl {
private TextBox _myText;
public TextBox MyText { get {return _myText; } }
}
Po wykonaniu tej czynności można zapisać się na którykolwiek z jego zdarzeń tak:
theUserControl.MyText.WhatEverEvent += ...
Nadzieja to pomaga!
+0
dzięki, zrobiłem coś podobnego jak teraz. Szukałem eleganckiego rozwiązania, które zostało przedstawione powyżej. Dziękuję za pomoc. + 1 –
Powiązane problemy
- 1. Wyświetlacz kontroli użytkownika w DataGridViewCell
- 2. Rozszerzanie kontroli użytkownika w WPF
- 3. Wyzwalacz właściwości UserControl dla kontroli podrzędnej
- 4. Jak mogę podnieść niestandardowe wydarzenie routowane ze sterowania użytkownika?
- 5. uporządkowana lista kontroli użytkownika (dodawanie i usuwanie)
- 6. Źródło danych dla kontroli użytkownika
- 7. asp: Dosłowne sterowanie null w kontroli użytkownika
- 8. Umbraco: Lista węzłów potomnych w kontroli użytkownika
- 9. C# Zaprojektowany nie rozpoznaje niestandardowego zdarzenia w niestandardowej kontroli użytkownika
- 10. Jak łączyć importowane i lokalne zasoby w kontroli użytkownika WPF
- 11. DynamicMethod i rodzaj kontroli
- 12. Jak podnieść wydarzenie zmiany w KendoUI DatePicker?
- 13. ValidationRules w szablonie kontroli
- 14. Javascript funkcje wewnątrz ASP.NET kontroli użytkownika
- 15. Samouczek WPF do tworzenia niestandardowej kontroli użytkownika
- 16. Przekaż wartości od strony do kontroli użytkownika
- 17. Od kontroli WPF do kontroli Silverlight
- 18. Jak mogę powiązać pole do kontroli użytkownika
- 19. Wyświetlanie czasu projektowania dla zdarzeń kontroli użytkownika
- 20. Jak względny rozmiar skali kontroli użytkownika?
- 21. Jak uzyskać "typof" niestandardowej kontroli użytkownika
- 22. Dostęp do okna nadrzędnego z Kontroli użytkownika
- 23. kontroli parametrów błędu w węźle
- 24. Get ClientID kontroli w Repeater
- 25. przesuwając żadnej kontroli w WPF
- 26. WPF połączyło słowniki zasobów w każdej kontroli użytkownika - zły pomysł?
- 27. Problemy designer.cs z używaniem kontroli użytkownika w Visual Studio
- 28. Schemat bazy danych MySQL do kontroli dostępu użytkownika i grupy
- 29. Dodawanie kontroli/strony użytkownika do Windows Xaml programowo w WPF
- 30. WPF: Ustawianie ostrości klawiatury w kontroli użytkownika? (Problemy z KeyBinding)
Niesamowita rzecz! Zrobiłem coś podobnego, jawnie dodając procedurę obsługi zdarzeń, ponieważ ujawniłem kontrolę podrzędną publicznie poprzez kontrolę użytkownika. Twoja sugestia jest najdoskonalszym sposobem! Dzięki! –
Pomimo swojej elegancji, to rozwiązanie ma poważną wadę: argumentem "nadawcy" przekazanym do obsługi będzie przycisk, a nie kontrolka UserControl. To uniemożliwia użycie tego samego programu obsługi dla kilku instancji kontrolki. –
Czy istnieje cokolwiek innego, żeby to zadziałało? w jakiś sposób dodana deklaratywnie obsługa zdarzeń nie działa – Nap