Zdarzenia. NET-czym są object sender & EventArgs e?
Co oznaczają sender i eventArgs? Jak mogę z nich skorzystać (Dla poniższego scenariusza)?
Scenariusz:
Próbuję zbudować niestandardową kontrolę z funkcją delete i chcę mieć możliwość usunięcia kontrolki, która została kliknięta na stronie, która zawiera wiele tej samej kontroli niestandardowej.
5 answers
Nadawca jest kontrolką, dla której jest przeznaczona akcja(powiedzmy OnClick, to przycisk).
EventArgs są argumentami, które implementator tego zdarzenia może uznać za użyteczne. W OnClick nie zawiera nic dobrego, ale w niektórych zdarzeniach, jak np. w widoku GridView 'SelectedIndexChanged', będzie zawierał nowy indeks lub inne przydatne dane.
Chris mówi, że możesz to zrobić:
protected void someButton_Click (object sender, EventArgs ea)
{
Button someButton = sender as Button;
if(someButton != null)
{
someButton.Text = "I was clicked!";
}
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-07-20 04:50:56
sender
odnosi się do obiektu, który wywołał zdarzenie, które wywołało procedurę obsługi zdarzenia. Jest to przydatne, jeśli masz wiele obiektów korzystających z tej samej procedury obsługi zdarzenia.
EventArgs
jest czymś w rodzaju atrapy podstawowej klasy. Samo w sobie jest mniej lub bardziej bezużyteczne, ale jeśli z niego korzystasz, możesz dodać wszystkie dane, które musisz przekazać do procesów obsługi zdarzeń.
Kiedy implementujesz własne zdarzenia, użyj EventHandler
lub EventHandler<T>
jako ich typu. Gwarantuje to, że będziesz miał dokładnie te dwa parametry dla wszystkie twoje wydarzenia (co jest dobrą rzeczą).
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-10-16 19:54:35
Ręcznie Wrzuć nadawcę do typu niestandardowej kontroli, a następnie użyj go do usunięcia lub wyłączenia itp. Np. coś takiego:
private void myCustomControl_Click(object sender, EventArgs e)
{
((MyCustomControl)sender).DoWhatever();
}
"nadawca" jest tylko obiektem, który został aktywowany (np. kliknięty).
Args zdarzeń jest podkategoryzowany dla bardziej złożonych kontrolek, np. treeview, dzięki czemu możesz wiedzieć więcej szczegółów o zdarzeniu, np. dokładnie gdzie kliknięto.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-08-19 23:26:10
'sender' nazywa się obiekt, który ma jakąś akcję wykonywaną na jakimś kontrola
'event" posiada pewne informacje o kontroli, która ma niektóre zachowania i tożsamość wykonują przez jakiegoś użytkownika.kiedy akcja będzie Wygeneruj przez occuring dla event add przechowywany w tablicy nazywa się event agrs
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-06-20 16:18:18
FYI, sender
i e
nie są specyficzne dla ASP.NET lub do C#. Zobacz Events (C# Programming Guide) i Events w Visual Basic .
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-08-19 23:51:59