Preciso de algo em c# que funcione como setw() em c++
-
12-12-2019 - |
Pergunta
Estou usando um richTextBox em c#.Preciso exibir strings de comprimentos diferentes dentro de um richTextBox, mas essas strings devem estar perfeitamente alinhadas.isto é um exemplo..
abcd abcde abcde
ab abc abcdef
Eu sei como fazer isso em c++ usando a função setw.mas não consegui encontrar um equivalente em c#.
Solução
Você poderia usar String.PadRight
innerString.PadRight(10);
Outras dicas
string varName=String.Format("{0,10:D}", 2);
Isso formatará o número 2 como uma string de largura 10 alinhada à direita, use -5 para alinhá-lo à esquerda na largura de 5...
Fonte : http://answers.yahoo.com/question/index?qid=20100727164827AAqJ1Hn
Criei uma função para esse fim:
public string tab(string s, int w)
{
//w is the desired width
int stringwidth = s.Length;
int i;
string resultstring = s;
for(i=0;i<=(w-stringwidth)/8;i++)
{
resultstring = resultstring + "\t";
}
return resultstring;
}
Depois, adicionando-o a um ListBox, por exemplo:
listBox.Items.Add(tab("MyFullNameHere",30)+ tab("MyContact - xxxxx",12));
listBox.Items.Add(tab("MyWifeFullNameHereVeryLong", 30) + tab("HerContact - xxxxx", 12));
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow