这是我要对齐的数据示例。
我读到了
richTextBox1.Text = "\t1\t2\t3\t4";
richTextBox1.SelectionTabs = new int[] { 100, 200, 300, 400 };
但我无法理解它。 msdn的描述有点过于模糊。 { 100, 200, 300, 400 }
是什么意思?我认为这是像素大小,但我如何修改它以满足我的需求?
答案 0 :(得分:1)
是的,确实SelectionTabs
是一个数组,其中每个成员指定制表符偏移量(以像素为单位)。数字表示左边距的宽度。
示例:
richTextBox1.SelectionTabs = new int[] { 100, 200, 300, 400 };
第一个标签后的文字将从左边距排列100px。 第二个选项卡后面的文本将从左边距分配200px。 ... 这些设置适用于每一行。
这就是您的RichTextBox
控件必须定义了特定Width
的原因。对于该宽度,您需要定义5个选项卡。
另请注意,SelectionTabs
属性仅适用于所选文本。这就是为什么你需要首先选择整个文本的额外代码,然后设置SelectionTabs属性。
以下示例适用于您的方案:
richTextBox1.Width = 580;
richTextBox1.Text =
"24,34\t1228\tC:\\14035/61439\tD:\\399175/415186\t01 02 03 04 05 06 07 08 09 10 11\t0 1 2 3 " +
"58,05\t4017\tC:\\5610/61439\tD:\\396629/415186\t10 11 12 13 14 15\t0 1 2";
richTextBox1.SelectAll();
richTextBox1.SelectionTabs = new int[] {50, 100, 200, 320, 530};
richTextBox1.AcceptsTab = true;
richTextBox1.Select(0, 0);
答案 1 :(得分:0)
或者:
private void Form1_Load(object sender, EventArgs e)
{
// richTextBox1.Width = 480;
richTextBox1.Text =
"value1\tvalue2\tvalue3\tvalue4\tvalue5\tvalue6\n" +
"value1\tvalue2\tvalue3\tvalue4\tvalue5\tvalue6\n" +
"value1\tvalue2\tvalue3\tvalue4\tvalue5\tvalue6\n" +
"value1\tvalue2\tvalue3\tvalue4\tvalue5\tvalue6";
richTextBox1.SelectAll();
//------------------------------------- value1
//------------------------------------------ value2
//----------------------------------------------- value3
//---------------------------------------------------- value4
//--------------------------------------------------------- value5
richTextBox1.SelectionTabs = new int[] { 50, 100, 150, 200, 250 };
//-----------------------------------------------------------------
richTextBox1.AcceptsTab = true;
richTextBox1.Select(0, 0);
}