В решении WinForms у вас есть несколько элементов управления того же типа. Вам нужно добавить обработчик событий для каждого элемента управления, и в текущий момент обработчик событий будет делать то же самое. Вы не ожидаете, что какая-либо разница между ними по дороге.Лучшая практика с обычной обработкой событий
например:
ScheduledPatientsGrid.ProcessGridKey += ScheduledPatientsGrid_ProcessGridKey;
RecentPatientsGrid.ProcessGridKey += RecentPatientsGrid_ProcessGridKey;
RecentPatientsGrid.ProcessGridKey += RecentPatientsGrid_ProcessGridKey;
...
private void ScheduledPatientsGrid_ProcessGridKey(object sender, KeyEventArgs e)
{
...
}
private void RecentPatientsGrid_ProcessGridKey(object sender, KeyEventArgs e)
{
...
}
private void PatientsGrid_ProcessGridKey(object sender, KeyEventArgs e)
{
...
}
Теперь это лучше разделяя одного обработчика событий между различными событиями, как показано ниже, или использовать разные, как и в примере кода показано выше?
ScheduledPatientsGrid.ProcessGridKey += ProcessGridKey;
RecentPatientsGrid.ProcessGridKey += ProcessGridKey;
RecentPatientsGrid.ProcessGridKey += ProcessGridKey;
private void ProcessGridKey(object sender, KeyEventArgs e)
{
...
}
На следующей странице, Microsoft, кажется, предполагает, что совместное использование лучше, однако я заметил, что они не обновили его, так как .NET 2.0 (то есть: Visual Studio 2008)
http://msdn.microsoft.com/en-us/library/4ac48519%28v=vs.90%29.aspx
Есть ли руководство, в котором содержится рекомендация по лучшим практикам в этом случае?
Это имеет смысл. Я никогда не думал об аспекте дизайнера (возможно, потому, что Я никогда не использую конструктора>.>) –
@ChrisSinclair: Если вы никогда не пользуетесь дизайнером, то есть даже * меньше * извините, чтобы использовать эти жалкие имена;) –
Возможно ,Я, как правило, заканчиваю чтение оберток событий, а затем «это то, что происходит, когда пользователь нажимал кнопку» (или какое-либо событие), но, с другой стороны, я думаю, что слушатели событий действительно не должны _care_ о контексте, в котором их называют. Если он изменится с щелчка мышью на нажатие клавиши, тогда остальная часть моего кода даже будет заботиться? Должно ли это заботиться? Наверное, нет. Единственное, что имеет значение, это то, где я регистрирую событие в первую очередь. Спасибо, я буду серьезно рассматривать это в следующий раз, когда я провожу события. :) –