É incrivel, mas não importa a lista/forum/newsgroup que você participe, sobre qualquer linguagem de programação Windows, sempre aparece aquela pergunta clássica: “como substituir o Tab por Enter para navegar entre os controles”.

Segue minha opinião pessoal sobre isso.

Eu entendo que a maioria de nós, desenvolvedores, sempre queremos facilitar a vida do usuário, que muitas vezes está acostumado com aplicativos DOS que navegavam entre os campos com ENTER. Mas no mundo Windows isso é diferente, não se deve navegar com o ENTER, é totalmente fora do padrão de interface com o usuário. Seu usuário vai usar todos os outros aplicativos Windows e vai ver que não se navega com o ENTER, e ao poucos seu aplicativo vai ser o estranho, o errado, o diferente.

Por isso eu recomendo deixar a UI (user interface) o mais parecida possível com o sistema operacional, pois o usuário acostuma-se rápido com o sistema operacional e vai esperar que todos os aplicativos operem de forma parecida. Isso vai diminuir sua curva de aprendizagem, e vai fazê-lo se sentir em casa quando estiver usando a maioria dos aplicativos Windows.

Ele vai entrar no seu aplicativo e supor que um duplo clique em uma grid abra um registro, ele vai supor que o Enter acione confirme as informações e feche a janela, ele vai suporte que um ESC cancele as alterações que estava fazendo em um registro e feche a janela, ele vai supor que se clicar no “x” da janela, ela vai se fechar, e PRINCIPALMENTE, ele vai supor que o TAB navegue entre os controles, como todo aplicativo Windows. Claro, existem exceções, não digo que isso seja verdade em 100% dos casos, mas a maioria dos usuários já está acostumado com o Windows, com formulários na web que navegam com o Tab, lembra? Então, por isso acho que nós desenvolvedores, devemos seguir os padrões Windows. Se a primeira experiência Windows do usuário é em nosso aplicativo, devemos mostrá-los o caminho certo, não deixá-los viciados em hábitos passados.

Imaginem se cada carro tivesse os controles da forma que seus desenvolvedores achassem melhor? Você teria que fazer curso para dirigir cada um. Pensando bem, isso até que acontece, com controles menos importantes, mas que não deixam de nos atrapalhar. Meu antigo carro tinha buzina no centro do volante e o que tenho hoje tem buzina na maçaneta do limpador de para-brisas, logo que troquei, nunca conseguia buzinar rapidamente para alguém pois sempre tentava apertar o centro do volante, até que acostumei. Mas quando pego o carro da minha esposa, que a buzina é no volante, pronto, sempre tento apertar a maçaneta do limpador. Isso acontece também com o botão para baixar os vidros, cada um é em um lugar! Ou seja, acabamos perdendo tempo e nos irritando com essas faltas de padronizações da interface com o usuário.

A decisão final é sua, vai facilitar ou complicar a vida do seu usuário?