Necesito algo en C # que funcionan como el Setw () en C ++
-
12-12-2019 - |
Pregunta
Estoy usando un RichTextBox en C #.Necesito mostrar cadenas de longitud diferente dentro de una richTextBox, pero estas cadenas deben estar perfectamente alineadas ... Este es un ejemplo.
abcd abcde abcde
ab abc abcdef
Sé cómo hacerlo en C ++ usando la función SETW ... pero no pude encontrar un equivalente en C #.
Solución
Usted podría usar >String.PadRight
innerString.PadRight(10);
Otros consejos
string varName=String.Format("{0,10:D}", 2);
Esto formateará el número 2 como una cadena de ancho 10 alineado a la derecha, use -5 para que se alinee a la izquierda en el ancho de 5 ...
Fuente: http://answers.yahoo.com/question/index?qid=20100727164827aaqj1hn
He creado una función para ese propósito:
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;
}
Luego, agregándolo a un cuadro de lista, por ejemplo:
listBox.Items.Add(tab("MyFullNameHere",30)+ tab("MyContact - xxxxx",12));
listBox.Items.Add(tab("MyWifeFullNameHereVeryLong", 30) + tab("HerContact - xxxxx", 12));
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow