lidar eficazmente mudanças de orientação para todos os controles com alteração de código pequeno

StackOverflow https://stackoverflow.com/questions/2240941

Pergunta

Eu tenho um projeto Windows Mobile construído em C #.

Eu tenho um monte de formas prontas que têm vários controles sobre ele, de ListViews para EditFields. Quando o usuário muda a orientação de alguns elementos não são refrescantes corretamente. Por exemplo colunas do ListView são os mesmos e não acomodar a nova mudança largura da tela (barras de rolagem aparecem ou metade da tela é preenchida).

Como você lida com essas mudanças?
Preciso chamar para cada forma essas correções à mão, ou eu posso criar algum tipo de forma global para corrigir isso? Eu gostaria de ir com o método mais simples, se possível.

Eu gostaria de evitar a maneira clássica, para adicionar código para todas as minhas formas. Então eu estou procurando maneiras melhores, e eu gostaria de ver mais idéias.

Foi útil?

Solução

Eu estou supondo que a maioria de seus controles estão usando um DockStyle, e que vai te 90% do caminho em termos de atualizar o GUI de mudanças de orientação. Para o ListView, você terá que adicionar em algum código.

Você pode adicionar um manipulador de eventos em Form.Resize, e não colocar em código para redimensionar as colunas ListView. Você pode dizer retrato vs paisagem comparando largura vs altura. Há também uma maneira de adicionar um manipulador de eventos em uma mudança de orientação real, mas é de interoperabilidade e eu não me lembro o código de improviso. Form.Resize deve ser suficiente para a maioria dos casos.

Você pode conferir um exemplo aqui

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top