Usuário com melhor resposta
Texto em Label

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?
Respostas
-
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.
- Marcado como Resposta Guilherme Macedo SModerator segunda-feira, 22 de maio de 2017 12:40
Todas as Respostas
-
-
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.
-
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.
-
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.
- Marcado como Resposta Guilherme Macedo SModerator segunda-feira, 22 de maio de 2017 12:40
-
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.