none
Texto em Label RRS feed

  • Pergunta

  • Pessoal não sei o que está acontecendo estou fazendo uma aplicação que usa os dados do banco e coloca em uma label. Algumas vezes o texto fica como eu quero assim:

    sdkjsfjhdfkjdfkjhd

    dfhdkjfhkjfhdfjkhs

    fjfhkfjhjfkdfkjdfhdj

    ssdsadsdasdsasdsd

    mas outras vezes fica assim: sddfdfdffdfkdggkldfkjdlfksdflksdfçaaflsfkdsdk

    O que pode estar errado?

    sábado, 13 de maio de 2017 02:25

Respostas

Todas as Respostas

  • Luisa, poderia postar o código para tentarmos te ajudar. O interessante é limpar o label antes de preenche-lo.
    sábado, 13 de maio de 2017 03:03
  • Thyago o código é o seguinte:

    Primeiro eu coloco todo o texto que veio do banco em uma matriz (palavra por palavra)

     string textoLegenda = (texto do banco);
                textoLegenda = textoLegenda.Replace("\n", " ");
                textoLegenda = textoLegenda.Trim();
                palavrasLegenda = textoLegenda.Split(' ');

    Depois substituo determinadas palavras por ... e coloco em uma label todas as palavras que foram substituidas

                    

    if (indice[0] < int.Parse(palavrasLegenda.Length.ToString()))
                {
                    //listBox1.Items.Add(palavrasAleatorias[indice[0]]);
                    label1.Text += palavrasLegenda[indice[0]] + " ";
                    m = m + 10;
                    palavrasLegenda[indice[0]] = ".....";
                    l = l + 10;
                }
                else
                {
                    timeLegenda.Stop();
                    lblLegenda.TextAlign = ContentAlignment.MiddleCenter;
                    for (int j = 0; j <= palavrasLegenda.GetUpperBound(0); j++) // percoro as clunas todas
                    {
                        lblLegenda.Text += (j == 0 ? "" : " ") + palavrasLegenda[j]; //adiciona um espaço antes de todas as colunas excepto a primeira, mas ao usares o espaço como separador, vai ficar esquisito caso uns números tenham mais dígitos do que outros
                    }
                    lblLegenda.Text += "\n";

                }
                indice[0] = l;
            }

    e reagrupo todas elas em uma label, formando novamente o texto porém em algumas palavras há ....

    Se eu usar o MESMO código em um form o texto fica assim:

    asdadas sdasda ..... sdsdsd 

    dsdsdasd.... sdasda asdsda

    asdasd  dsdasd sdsd .....

    Mas fazendo em um userControl (que é onde eu preciso) fica assim na label:

    asddfd dfsfdsf ..... dfsfsd ddsddsd ..... fddfdf dsddsd dsdsf dfdfd fdfdf .... 

    Não quero que fique tudo em uma linha só, mas em formato de texto. Lembrando que no form se eu usar esse código: lblLegenda.TextAlign = ContentAlignment.MiddleCenter; o texto fica centralizado mas no userControl não.

    Não tenho a menor ideia de porque isso está acontecendo.

    sábado, 13 de maio de 2017 20:53
  • Thyago o código é o seguinte:

    Primeiro eu coloco todo o texto que veio do banco em uma matriz (palavra por palavra)

     string textoLegenda = (texto do banco);
                textoLegenda = textoLegenda.Replace("\n", " ");
                textoLegenda = textoLegenda.Trim();
                palavrasLegenda = textoLegenda.Split(' ');

    Depois substituo determinadas palavras por ... e coloco em uma label todas as palavras que foram substituidas

                    

    if (indice[0] < int.Parse(palavrasLegenda.Length.ToString()))
                {
                    //listBox1.Items.Add(palavrasAleatorias[indice[0]]);
                    label1.Text += palavrasLegenda[indice[0]] + " ";
                    m = m + 10;
                    palavrasLegenda[indice[0]] = ".....";
                    l = l + 10;
                }
                else
                {
                    timeLegenda.Stop();
                    lblLegenda.TextAlign = ContentAlignment.MiddleCenter;
                    for (int j = 0; j <= palavrasLegenda.GetUpperBound(0); j++) // percoro as clunas todas
                    {
                        lblLegenda.Text += (j == 0 ? "" : " ") + palavrasLegenda[j]; //adiciona um espaço antes de todas as colunas excepto a primeira, mas ao usares o espaço como separador, vai ficar esquisito caso uns números tenham mais dígitos do que outros
                    }
                    lblLegenda.Text += "\n";

                }
                indice[0] = l;
            }

    e reagrupo todas elas em uma label, formando novamente o texto porém em algumas palavras há ....

    Se eu usar o MESMO código em um form o texto fica assim:

    asdadas sdasda ..... sdsdsd 

    dsdsdasd.... sdasda asdsda

    asdasd  dsdasd sdsd .....

    Mas fazendo em um userControl (que é onde eu preciso) fica assim na label:

    asddfd dfsfdsf ..... dfsfsd ddsddsd ..... fddfdf dsddsd dsdsf dfdfd fdfdf .... 

    Não quero que fique tudo em uma linha só, mas em formato de texto. Lembrando que no form se eu usar esse código: lblLegenda.TextAlign = ContentAlignment.MiddleCenter; o texto fica centralizado mas no userControl não.

    Não tenho a menor ideia de porque isso está acontecendo.

    o que é indice[0] ? 

    porque deu um ToString() em um campo int, para depois dar int.Parse() ? 

    int.Parse(palavrasLegenda.Length.ToString())

    Se possível poste o código completo e utilize a opção "Bloco de código" na hora de colar, para o código ficar identado e compreensível.

    terça-feira, 16 de maio de 2017 00:58
  • Voce deveria usar StringBuilder. usa a o metodo AppendLine() pra ciar um newline

    A flower cannot blossom without sunshine, and man cannot live without love.

    quinta-feira, 18 de maio de 2017 18:13
    Moderador
  • Bom dia,

    Por falta de retorno esta thread esta encerrada !

    Por gentileza, caso necessário abra uma nova thread.

    Atenciosamente,


    Guilherme Macedo S

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

    TechNet 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, 22 de maio de 2017 12:40
    Moderador