Ada*_*ile 17 .net tabs richtextbox winforms
有没有办法更改.NET RichTextBox中的默认选项卡大小?它目前似乎设置为相当于8个空间,这对我来说有点大.
编辑:为了澄清,我想将全局默认值"\ t"显示为控件的4个空格.根据我的理解,SelectionTabs属性要求您先选择所有文本,然后通过数组选择选项卡宽度.如果必须,我会这样做,但我宁愿只更改一次全局默认值,如果可能的话,我不必每次都这样做.
Sco*_*ols 20
您可以通过设置SelectionTabs属性来设置它.
private void Form1_Load(object sender, EventArgs e)
{
richTextBox1.SelectionTabs = new int[] { 100, 200, 300, 400 };
}
Run Code Online (Sandbox Code Playgroud)
更新:
序列很重要....
如果在初始化控件文本之前设置选项卡,则不必在设置选项卡之前选择文本.
例如,在上面的代码中,这将使文本保留原始的8个空格制表位:
richTextBox1.Text = "\t1\t2\t3\t4";
richTextBox1.SelectionTabs = new int[] { 100, 200, 300, 400 };
Run Code Online (Sandbox Code Playgroud)
但这将使用新的:
richTextBox1.SelectionTabs = new int[] { 100, 200, 300, 400 };
richTextBox1.Text = "\t1\t2\t3\t4";
Run Code Online (Sandbox Code Playgroud)
Winforms 没有用单个数字设置 RichTexBox 的默认制表符大小的属性,但如果您准备深入研究富文本框的 Rtf 并对其进行修改,则可以使用一个设置,称为: “\deftab”。后面的数字表示缇数(1 点 = 1/72 英寸 = 20 缇)。标准制表符大小为 720 缇的生成的 Rtf 可能类似于:
{\rtf1\ansi\ansicpg1252\deff0\deflang2057\deftab720{\fonttbl{\f0\fnil\fcharset0 Microsoft Sans Serif;}}
\viewkind4\uc1\pard\f0\fs41
1\tab 2\tab 3\tab 4\tab 5\par
}
Run Code Online (Sandbox Code Playgroud)
如果您需要将缇转换为像素,请使用以下受Convert Pixels to Points启发的代码:
int tabSize=720;
Graphics g = this.CreateGraphics();
int pixels = (int)Math.Round(((double)tabSize) / 1440.0 * g.DpiX);
g.Dispose();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19692 次 |
| 最近记录: |