Vb.net 在文本框中对齐非固定间距字体文本

Vb.net 在文本框中对齐非固定间距字体文本,vb.net,Vb.net,是否有一种方法可以对齐文本框中的制表符,非固定音高字体文本 TextBox1.AppendText("Sample text line" & vbTab & vbTab & vbTab & "(100)" & vbNewLine) TextBox1.AppendText("Sample text line Sample text line" & vbTab & vbTab & vbTab & "(150)" & vb

是否有一种方法可以对齐文本框中的制表符,非固定音高字体文本

TextBox1.AppendText("Sample text line" & vbTab & vbTab & vbTab & "(100)" & vbNewLine)
TextBox1.AppendText("Sample text line Sample text line" & vbTab & vbTab & vbTab & "(150)" & vbNewLine)
TextBox1.AppendText("Sample text line" & vbTab & vbTab & vbTab & "(200)" & vbNewLine)


我想使用tabchar将这些文本对齐到两列。无法为每行硬编码
vbTab
,因为文本是动态变化的。

我假定您的意思是“对齐”。也许,如果您想要列,您应该使用带有列的控件,例如
DataGridView
ListView
@jmcilhinney,或者可能是带有
选择选项卡的Richtextbox?我刚找到一个文本框,你可以发信息。您需要测量每列的每个字符串(使用
TextRenderer.MeasureText
),确定最长的字符串,然后乘以
1.66
这些度量值(当然,在内部,制表符度量值是以
显示单位
表示的,它本身是一个平均值,而不是像素:)设置表示新制表位的整数数组。我会使用ListView。@Razi,不熟悉该属性。我想我学到了一些新东西。使用
SelectionTabs
也意味着你必须测量字符串。除非你盯着它看。但是更改字体也会更改字符串大小,这些值表示固定位置……我假设您的意思是“对齐”。也许,如果您想要列,您应该使用带有列的控件,例如
DataGridView
ListView
@jmcilhinney,或者可能是带有
选择选项卡的Richtextbox?我刚找到一个文本框,你可以发信息。您需要测量每列的每个字符串(使用
TextRenderer.MeasureText
),确定最长的字符串,然后乘以
1.66
这些度量值(当然,在内部,制表符度量值是以
显示单位
表示的,它本身是一个平均值,而不是像素:)设置表示新制表位的整数数组。我会使用ListView。@Razi,不熟悉该属性。我想我学到了一些新东西。使用
SelectionTabs
也意味着你必须测量字符串。除非你盯着它看。但是改变字体也会改变字符串的大小,这些值表示固定的位置。。。