Como controlar a ordem de encaixe no WinForms

Como o título indica, estou procurando uma maneira de controlar a ordem na qual os itens são atrelados ao topo do meu controle.

Eu joguei com o designer do Windows, e não consigo encontrar o que o RightClick->Order->SendToFront está fazendo, porque é exatamente isso que eu quero que aconteça. Tanto quanto eu posso acontecer, como eu adiciono o meu conteúdo ao meu controle, o mais novo conteúdo está sempre no topo, e eu gostaria que o conteúdo mais recente estivesse na parte inferior, e o conteúdo mais antigo na parte inferior. topo.

Resumo: Existe uma maneira fácil no WinForms (C #) de controlar a ordem em que as coisas são encheckboxdas nos lados dos controles?

Edit: Eu tenho que fazer isso a partir do código por trás, como eu adiciono meus controles, eu não posso usar os resources do designer do WinForm, mas o que eu estou tentando fazer, é imitar os resources WinForms Designer SendToBack e SendToFront

Use estes methods:

 myControl.SendToBack(); myControl.BringToFront(); 

Vá para Exibir -> Outras janelas -> estrutura do documento.

Nessa janela, arraste os controles para que o encaixe seja o que você quiser.

Como você disse, o mais novo controle adicionado à coleção de controles é o que está no topo. Se você precisar que um novo controle seja adicionado na parte inferior, sugiro criar uma lista de controles, adicionar os controles à lista, reverter a lista e adicionar a lista à coleção de controles.

 List controls = new List 

Um controle tem dois methods para alcançar o que você está procurando: BringToFront e SendToBack .

A ordem na qual os controles estão sendo adicionados à coleção Controls determina a ordem de encaixe.

(Por questão de mostrar outra opção): No Visual Studio 2012 (e posterior):

  1. Selecione o controle que você deseja mover para a frente (ou para trás);
  2. Clique nos botões marcados abaixo (Trazer para frente / Enviar para trás); insira a descrição da imagem aqui

Isso lhe dará a possibilidade de reorganizar os controles de acordo com a ordem desejada.

Use o FlowLayoutPanel, ele faz exatamente o que você quer.