Pergunta

Eu tenho um formulário com um monte de painéis e alguns painéis dentro de caixas de grupo. Ao usar a ferramenta Taborder no VS2005, os controles fora dos contêineres recebem números inteiros (0), os controles dentro dos painéis recebem decimais (72.0) e os controles nos painéis nas caixas de grupo recebem valores de três partes (73.73.0). Infelizmente, o pedido de guia resultante não tem nada a ver com o pedido em que cliquei em meus controles.

Essa ferramenta simplesmente não suporta recipientes aninhados? Estou fazendo algo errado? Talvez segurando o turno ou o Ctrl- quando clico (eu tentei sem sucesso)?

Vou ser forçado a digitar manualmente as ordens de guia de três partes para todos os meus controles? Isso seria uma chatice.

Foi útil?

Solução

A ferramenta de ordem da guia não foi projetada para você inserir valores manualmente; Ele foi projetado para você clicar nos controles na ordem em que você gostaria que eles progredissem como guias do usuário.

Os números não são decimais; Eles representam a ordem da guia do controle em seu contêiner pai. Por exemplo, se você tem um formulário com um Panel nomeado panel1 e a Button dentro dele nomeado button1, então button1 exibiria um número como:

X.Y
  • X é a ordem da guia de panel1
  • Y é a ordem da guia de button1 dentro de panel1.

Reconherei que o designer não é tão intuitivo (ou transparente) quanto provavelmente deveria ser, mas funciona.

Outras dicas

Eu tive o mesmo problema com caixas de texto e botões na caixa de grupo no vs2010. A Taborder Tool era apenas inútil: as ordens de guia foram quebradas, não importa como eu encomendei a parada da guia. Para fazer a ordem da guia correta, tive que reordenar como os controles são adicionados à caixa de grupo no código de inicialização do designer de formulário:

this.groupBox2.Controls.Add(this.startTimeTextBox);
this.groupBox2.Controls.Add(this.endTimeTextBox);
this.groupBox2.Controls.Add(this.exitButton);

Dessa forma, a ordem da guia seria iniciada notimextbox -> endtimeTextBox -> exitbutton e assim por diante.

Acho que descobri o caminho para fazê -lo no designer: o truque é aparentemente que você também precisa clicar nos painéis/caixas de grupo para atribuir as diferentes partes da ordem completa; Dessa forma, parece que um método de cliques de primeira linha precisa ser usado, em vez de clicar nos controles filhos.

Meio triste, já que força você a saber a estrutura completa de toda a forma, em vez de exatamente o que o usuário vê.

Eu tive o mesmo problema e descobri esta ferramenta: http://archive.msdn.microsoft.com/cdstabindex

Eu tive que mudar o manifesto para fazê -lo funcionar com o VS2010. Além disso, modifiquei o código -fonte para melhorar a interface do usuário um pouco melhor, mas mesmo assim, eu recomendaria dar uma olhada nessa ferramenta.

Remover Caixas de grupo a partir de Controles E tente novamente isso funciona para mim :)

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