Ich verwende String.Format(), um einige Textinformationen zu formatieren, und es funktioniert perfekt mit "Console.WriteLine()" wie in msdn dokumentiert.String.Format() Alignment verhält sich anders, wenn es um MessageBox geht
Mein Code ist wie folgt:
StringBuilder strBuilder = new StringBuilder();
strBuilder.AppendLine("Summary Information:");
strBuilder.AppendFormat("{0,-10}{1,-8}{2,-10}{3,-30}{4,-7}\n", "Header1", "Header2", "Header3", "Header4", "Header5");
strBuilder.AppendFormat("{0,-10}{1,-8}{2,-10}{3,-30}{4,-7}\n\n", "A", "1", "Y", "Long Information", "13");
string result = strBuilder.ToString();
Console.WriteLine(result);
Die Konsole Ergebnis ist unten dargestellt.
Aber, wenn ich versuche, es auf einem MessageBox zu zeigen, verschieben sich die Spalten. Irgendwie sind die Räume geschluckt.
MessageBox.Show(result, "MBox Test");
Es ist auch in Ordnung, weil ich nicht sehr Kneen auf der "MessageBox" Klasse des .Net war. Es hat so viele Einschränkungen.
Also habe ich beschlossen, ein benutzerdefiniertes Formular zu implementieren, um diese Nachricht anzuzeigen. Ich habe es mit Label und RichTextBox versucht. Aber leider war das Ergebnis genau dasselbe wie die MessageBox.
Und ich bin verwirrt. Warum .Net-eigene Steuerelemente können die Ausrichtung von String.Format() nicht unterstützen. Kann ich irgendwie mit dieser Situation umgehen?
gut nach diesem Lern wegen der Schriftart ist, ich habe hat eine Messagebox erstellt, die mit html arbeitet. so Problem gelöst. und jetzt habe ich viel mehr Flexibilität beim Formatieren der Nachrichtenbox. – fkucuk