Uéu (=well em en-BR!!), os resource são um mecanismo, deveras simples, de gerir mensagens localizadas na aplicação. Dito de outra forma, é um mecanismo que permite armazenar as mensagens a usar na aplicação em várias línguas para labels, headers, botões, etc.
Uma vantagem na utilização de resources que se obtém por arrasto, é a valiosa capacidade de uniformizar as várias interfaces da aplicação. Lá dizem as boas práticas de programação que devemos desenhar as interfaces com o utilizador recorrendo a mecanismos que permitam uniformizar as várias interfaces humano-computador. A utilização de resources permite-nos dar mais um passo nesse sentido, uma vez que assim podemos, por exemplo, armazenar os textos que pretendermos usar em todos os botões da aplicação e desta forma acabaram-se os botões de gravar, salvar, inserir, etc espalhados pela aplicação e ainda por cima, todos com a mesma função(!): armazenar o/os registo/os num dispositivo qualquer de armazenamento.
Claro que a principal função prende-se com a facilidade de manutenção de uma aplicação multilingue. Desenha-se uma interface, criam-se múltiplos resources para cada língua e voilá!, a nossa aplicação passa a poder funcionar em várias línguas (veja também o meu post anterior).
Antes ainda de ver como usar os resources, há ainda a saber que existem 2 tipos de resources: localresources, que contém os dados relativos a uma página específica do site; globalresources que contém dados localizados que são válidos em todas as páginas do site.
Os resources são ficheiros XML com extensão resx que são armazenados nas pastas App_LocalResources ou App_GlobalResources consoante se destinam a uma única página ou a todo o site.
Neste artigo vou apenas falar nos globalresources por achar que são os mais interessantes.
Supondo que pretendemos criar resources para os botões da aplicação, no Visual Studio basta criar um novo ficheiro do tipo Resource file. Se o fizer na raiz do site o VS emite um aviso a alertar que vai colocar o resource na pasta app_globalresources (que é também criada caso não exista).


Por vezes a combobox não é refrescada após a escolha da ClassKey, por isso depois de definir a Classkey clique numa qualquer propriedade na lista Bindable properties e depois volte a clicar em Text. Agora ao clicar na ResourceKey já deve ter uma combobox com os vários labels.

O label do botão deve apresentar agora o texto definido no resource file.
See ya!
