在C#RichTextBox中查找默认选项卡大小

在C#RichTextBox中查找默认选项卡大小,c#,winforms,fonts,richtextbox,tabstop,C#,Winforms,Fonts,Richtextbox,Tabstop,RichTextBox中选项卡的默认大小(以像素为单位)显然是48像素,而与字体或字体大小无关。这是由.NET设置为默认值,而无需触摸SelectionTabs数组。我已经签入了RTF-没有\tx控制代码或任何东西,那么这个难以捉摸的“48”号存储在哪里 我不想用它作为硬编码的“幻数”,以防其他系统使用48像素以外的标签 我自己的目的是帮助我将制表符转换为空格(至少对于固定宽度字体)。但找到答案也可能使我们更接近于用单个值控制制表符大小,而不必像中所暗示的那样设置制表位的“无限”数组。它有一个合

RichTextBox中选项卡的默认大小(以像素为单位)显然是48像素,而与字体或字体大小无关。这是由.NET设置为默认值,而无需触摸SelectionTabs数组。我已经签入了RTF-没有\tx控制代码或任何东西,那么这个难以捉摸的“48”号存储在哪里

我不想用它作为硬编码的“幻数”,以防其他系统使用48像素以外的标签


我自己的目的是帮助我将制表符转换为空格(至少对于固定宽度字体)。但找到答案也可能使我们更接近于用单个值控制制表符大小,而不必像中所暗示的那样设置制表位的“无限”数组。

它有一个合理的默认值,很少有用户会反对。它储存在华盛顿州雷德蒙德的一个地下室里。它的值是32个对话框模板单元,这在Winforms中是一个毫无意义的度量。如果你不喜欢惊喜,那么最明显的做法就是总是按照你认为应该设定的方式来设定。如果您不喜欢它仅适用于所选内容的方式,并且不允许使用“无止境”选项卡,那么您必须使用SendMessage()发送EM_SETTABSTOPS。请注意,您应该提到EM_SETTABSTOPS。我搜索了一下,找到了使用Win32 interop的,但它作弊了,只创建了32个(是的,RTF中有32个“\tx”),而不是无限的:)我想我需要进入Redmond内的保险库…阅读MSDN库文章获取消息。一个就足以让它重复。啊,刚刚发现我最初是使用\deftab RTF控制代码来回答这个问题的。那么回到主题上来,你认为48像素的数字在所有系统、字体和分辨率上都是固定的吗,除非我另外指定?