Pergunta

Estou desenvolvendo um formulário no .NET Compact Framework, que hospeda um número variável de controles. Cada controle deve ter a mesma largura do formulário. Quando há apenas alguns controles, não aparece nenhuma barra de rolagem vertical. Quando existem mais controles do que eles podem caber em um formulário, aparece uma barra de rolagem vertical. A largura dos controlos deverão então ser modificado, de modo que não aparece horizontal barra de rolagem.

Qual é a melhor maneira de conseguir isso? Estou interessado em uma solução que irá funcionar em todos os tamanhos plataformas / tela e que pode apoiar mudanças orientação da tela.

Foi útil?

Solução

Se eu receber esse direito, em um ponto, ambos aparecem uma barra de rolagem vertical e horizontal, e você só quer a barra de rolagem vertical? não definir a âncora de cada controle para "Top | Esquerda | Right"? resolver este problema automaticamente

Outras dicas

Se cada controle é ser a mesma largura que a forma, porque não basta Encaixe cada controle para cima (ou inferior)? Ele vai cuidar do redimensionamento para você, então. Pode não parecer muito atraente no entanto, então eu sugiro a adição de alguns painéis vazios (acoplado da mesma maneira) para ser usado como espaçadores verticais.

Eu fiz alguns testes rápidos, e ao que parece, quando você adicionar controles, o painel gera o evento de redimensionamento quando o controle adicionado tiggers os scollbars ir visível. A parte chata é aqui que o evento redimensionar é acionado um par de vezes durante a inicialização :( Mas conhecendo a estrutura compacta, esta pode ser sua melhor chance de lidar com isso.

Normalmente sobre o quadro completo você poderia se o DisplayRectangle é maior do que o tamanho do painel, mas tal coisa não existe na cf.

Espero que este seja de alguma ajuda, eu vou ver se posso encontrar algo mais na parte da manhã.

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