none
FlowLayoutPanel, como modificar a distancia entre os controles? RRS feed

  • Pergunta

  • Pessoal,

    Desculpe a pergunta noob, mas eu queria fazer uma coisa q parecia simples, porém não estou conseguindo.

    -  Em um formulário adicionei um controle FlowLayoutPanel.

    - Mudei as propriedades "FlowDirection" para 'TopDown' de forma que ao adicionar vários controles eles se posicionem um debaixo do outro;

    - Adicionei (em desing-time) vários controles.

    O problema é que eles ficam muito distantes um do outro, alguém sabe qual a propriedade que devo alterar para modificar a distância entre os controles?

    Desde já agradeço.

     

     

     

    sábado, 3 de fevereiro de 2007 22:02

Respostas

  • Alleolli,

    São nos controles que você define a distancia entre eles. Por exemplo, suponha que você não queira distancia nenhuma entre eles. Se você colocar o código abaixo no evento Load de um form com um FlowLayoutPanel, os controles serão dispostos sem nenhuma distância entre eles:

    Dim margem As New Padding(0)

    Dim txt1 As New TextBox
    txt1.Text =
    "Texto1"
    txt1.Margin = margem

    Dim btn1 As New Button
    btn1.Text =
    "Botao 1"
    btn1.Margin = margem

    Dim txt2 As New TextBox
    txt2.Text =
    "Texto2"
    txt2.Margin = margem

    Dim btn2 As New Button
    btn2.Text =
    "Botão 2"
    btn2.Margin = margem

    Dim lbl1 As New Label
    lbl1.Text =
    "Label1"
    lbl1.Margin = margem

    FlowLayoutPanel1.Controls.AddRange(New Control() {txt1, _
                                                             btn1, txt2, btn2, lbl1})

    Repare que eu defini uma variável "margem" e a atribui a propriedade Margin dos controles, determinando 0 como distância da margem deles em qualquer direção. Opcionalmente você pode definir uma distância para cada Margem do seu controle (direita, esquerda, cima e baixo).

    Abraços,
    Francisco
    OK, Computer - http://thespoke.net/blogs/fbcjunior/default.aspx

    sábado, 3 de fevereiro de 2007 22:19
    Moderador

Todas as Respostas

  • Alleolli,

    São nos controles que você define a distancia entre eles. Por exemplo, suponha que você não queira distancia nenhuma entre eles. Se você colocar o código abaixo no evento Load de um form com um FlowLayoutPanel, os controles serão dispostos sem nenhuma distância entre eles:

    Dim margem As New Padding(0)

    Dim txt1 As New TextBox
    txt1.Text =
    "Texto1"
    txt1.Margin = margem

    Dim btn1 As New Button
    btn1.Text =
    "Botao 1"
    btn1.Margin = margem

    Dim txt2 As New TextBox
    txt2.Text =
    "Texto2"
    txt2.Margin = margem

    Dim btn2 As New Button
    btn2.Text =
    "Botão 2"
    btn2.Margin = margem

    Dim lbl1 As New Label
    lbl1.Text =
    "Label1"
    lbl1.Margin = margem

    FlowLayoutPanel1.Controls.AddRange(New Control() {txt1, _
                                                             btn1, txt2, btn2, lbl1})

    Repare que eu defini uma variável "margem" e a atribui a propriedade Margin dos controles, determinando 0 como distância da margem deles em qualquer direção. Opcionalmente você pode definir uma distância para cada Margem do seu controle (direita, esquerda, cima e baixo).

    Abraços,
    Francisco
    OK, Computer - http://thespoke.net/blogs/fbcjunior/default.aspx

    sábado, 3 de fevereiro de 2007 22:19
    Moderador
  • Amigo,

     Muitissimo obrigado pela dica. Funcionou perfeitamente.

    Grato.

     

    segunda-feira, 5 de fevereiro de 2007 01:28
  • Alleolli,

    Se algum dos posts solucionou sua dúvida, por favor, marque-o como resposta desta thread. Acima de cada post você verá um botão "Marcar como resposta", basta clicar neste botão em um ou mais posts que solucionaram sua dúvida. Isso é importante para considerarmos esta thread como resolvida.

    Ao fazer isto, você usará o Forum da maneira esperada quando ele foi concebido e assim contribuírá para o bom funcionamento de outras features desta ferramenta.

    Obrigado!

    Abraços,
    Francisco
    OK, Computer - http://thespoke.net/blogs/fbcjunior/default.aspx

    segunda-feira, 5 de fevereiro de 2007 10:18
    Moderador
  • Obrigado Francisco pela dica.

    Ficarei atento a este detalhe nas próximas vezes.

    Abraços,

    Alessandro.

     

    quarta-feira, 14 de fevereiro de 2007 20:08