none
CENTRALIZAR LABEL - C# RRS feed

  • Pergunta

  • A imagem abaixo é um protótipo de uma tela que desejo fazer. Gostaria de saber se é possível centralizar label de acordo com as imagem dos computadores. Exemplo: o centro dos labels que possuem as marcas (Samsung, CCE, HP) o centro desses labels tem que estar no mesmo que as imagem de computadores. É possível?

    segunda-feira, 27 de junho de 2016 12:19

Respostas

  • Fiz uma gambiarra aqui e deu certo kkk.

               int larguraImagem = (pictureBox2.Size.Width);
    
                int larguraTexto = (label1.Size.Width);
    
                int localizacaoTexto = label1.Location.X;
    
                if (larguraTexto > larguraImagem)
                {
                    int diferenciaImgTex = larguraTexto - larguraImagem;
    
                    int sobraLateral = diferenciaImgTex / 2;
    
                    int localizacaofinal = (localizacaoTexto - sobraLateral) + 10;
    
                    label1.Location = new Point(localizacaofinal, 164);
                }
                else if (larguraTexto < larguraImagem)
                {
                    int diferenciaImgTex = larguraImagem - larguraTexto;
    
                    int sobraLateral = diferenciaImgTex / 2;
    
                    int localizacaofinal = (localizacaoTexto + sobraLateral) + 10;
    
                    label1.Location = new Point(localizacaofinal, 164);
                }
                else if (larguraTexto == larguraImagem)
                {
                    label1.Location = new Point(pictureBox2.Location.X, 164);
                }

    segunda-feira, 27 de junho de 2016 14:13

Todas as Respostas

  • Fiz uma gambiarra aqui e deu certo kkk.

               int larguraImagem = (pictureBox2.Size.Width);
    
                int larguraTexto = (label1.Size.Width);
    
                int localizacaoTexto = label1.Location.X;
    
                if (larguraTexto > larguraImagem)
                {
                    int diferenciaImgTex = larguraTexto - larguraImagem;
    
                    int sobraLateral = diferenciaImgTex / 2;
    
                    int localizacaofinal = (localizacaoTexto - sobraLateral) + 10;
    
                    label1.Location = new Point(localizacaofinal, 164);
                }
                else if (larguraTexto < larguraImagem)
                {
                    int diferenciaImgTex = larguraImagem - larguraTexto;
    
                    int sobraLateral = diferenciaImgTex / 2;
    
                    int localizacaofinal = (localizacaoTexto + sobraLateral) + 10;
    
                    label1.Location = new Point(localizacaofinal, 164);
                }
                else if (larguraTexto == larguraImagem)
                {
                    label1.Location = new Point(pictureBox2.Location.X, 164);
                }

    segunda-feira, 27 de junho de 2016 14:13
  • Bom dia Deividy,

    Mudando a propriedade Location de suas Labels ou Pictureboxes não funcionaria nesse caso?

    Atenciosamente.


    Robson William Silva

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    segunda-feira, 27 de junho de 2016 14:23
    Moderador
  • Não pois as nome nos label podem variar de tamanho. É possível alinhar pela propriedade somente pela esquerda, fora isso não conseguir.

    Assim, serial fácil:

    Caso exista outra forma de alinha, estou no aguardo!

    segunda-feira, 27 de junho de 2016 14:32
  • Deividy,

    Acredito que a forma que você encontrou via código seja uma boa opção. Não encontrei outras maneiras pelas propriedades.

    Atenciosamente.


    Robson William Silva

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    segunda-feira, 27 de junho de 2016 14:51
    Moderador