Załóżmy, że dla każdego formularza w aplikacji WinForms chcesz zmienić kursor na wskaźnik WaitCursor. Oczywistym sposobem na to byłoby dodanie kodu do każdego miejsca, w którym forma jest tworzony/pokazanej:VB.NET 2005 - "Global" Event Handler?
Try
Me.Cursor = Cursors.WaitCursor
Dim f As New frmMyForm
f.Show()
Catch ex As Exception
Throw
Finally
Me.Cursor = Cursors.Default
End Try
Jednak, zastanawiałem się, czy istnieje sposób, aby opowiedzieć swoją aplikację „Gdy jakaś forma obciążenia Zdarzenie zostanie uruchomione, pokaż program WaitCursor Po zakończeniu pokazanego zdarzenia, ustaw ponownie kursor na wartość domyślną. " W ten sposób kod Me.Cursor może być tylko w jednym miejscu i nie jest rozproszony w aplikacji - i nie zapomniano go umieścić w każdej instancji postaci.
Przypuszczam, że można podklasować zwykłą klasę formularzy i dodać ustawienia kursora w nadpisanym zdarzeniu, ale uważam, że tracisz możliwości projektanta wizualnego podczas podklasy obiektu Form.
Mam nadzieję, że wiesz, że część Catch jest zupełnie bezcelowa? (I powinienem zostać pominięty) –
Mam inny kod w moich blokach Catch. To jest uproszczony przykład. – HardCode