C# 文本框中的字符串显示不正确
我想用空格将字符串扩展到固定长度。 现在的问题是文本框中的文本显示错误。 如果我在控制台中输出相同的文本,则是正确的。 我做错了什么C# 文本框中的字符串显示不正确,c#,winforms,C#,Winforms,我想用空格将字符串扩展到固定长度。 现在的问题是文本框中的文本显示错误。 如果我在控制台中输出相同的文本,则是正确的。 我做错了什么 machineData += String.Format("{0,-50} : {1,-50}\r\n", AddSpacesAndSpecialCharactersToName(item), GetSpecificDataOfSelectedMachine(item)); Console.WriteLine(String.F
machineData += String.Format("{0,-50} : {1,-50}\r\n",
AddSpacesAndSpecialCharactersToName(item),
GetSpecificDataOfSelectedMachine(item));
Console.WriteLine(String.Format("{0,-50} : {1,-50}\r\n",
AddSpacesAndSpecialCharactersToName(item),
GetSpecificDataOfSelectedMachine(item)));
应该是这样的:
Text : Value
LongerText : Value
Sm : Value
但在文本框中,它看起来像:
Text : Value
LongerText : Value
Sm : Value
是因为文本框吗?
我已经尝试将文本写入标签,但也存在同样的问题。那么您的问题是为什么
文本框中的空格不对齐文本?你必须使用它才能工作。将文本框
字体更改为控制台使用的字体(请参阅)。更好的解决方案是在布局中解决这个问题:您可以在左侧使用标题控件,然后在右侧使用垂直对齐的控件来显示值。谢谢,它可以工作。另一个选项是使用RichTextBox,定义表示固定位置(数组ofint
)并设置RichTextBox.WordWrap=false;RichTextBox.AcceptsTab=true代码>。这允许使用独立于文本字符宽度的选项卡(\t
)分隔非等距字体。当然,您需要测量字符串的最大长度(以像素为单位,使用TextRenderer.MeasureText
),并将选项卡设置为每列中最大字符串长度的>值。