Classe WPFHourGlass
A simples exibição do cursor de ampulheta não significa que os cliques e digitações que o usuário produzir na interface gráfica serão ignorados pelo programa. Isto é uma deficiência que pode levar um usuário a comandar seguidamente uma operação acreditando que ela não se realizará pelo simples fato de o cursor estar no modo ampulheta. Com a classe WPFHourGlass, todas as mensagens enfileiradas a partir da sua exibição serão removidas da fila de mensagens do programa evitando assim que eventos indesejáveis disparados pelo usuário durante um longo processamento sejam processados na sequência. Quando o método Dispose da classe é chamado, os eventos de mouse e teclado são removidos da fila de mensagens do programa e o cursor do mouse volta ao cursor de seta.
Veja abaixo um exemplo de uso:
Using hg As New WPFHourGlass
Dim dt As Date = Now
Do While DateDiff("s", dt, Now) < 10
'neste intervalo, qualquer clique de mouse ou entrada de teclado
'serão ignorados
Loop
End Using