TextFormatFlags.TextBoxControl标志究竟是做什么的

时间:2011-11-22 19:57:18

标签: .net winforms text drawing

我想了解调用TextFormatFlags.TextBoxControl方法时调用标记TextRenderer.DrawText的效果是什么。

我写了一个小程序,我看不出使用它和不使用它之间的区别。

另外,我使用.NET反射器考虑了代码,并且标志直接传递给本机方法,所以我可以看到效果是什么。

2 个答案:

答案 0 :(得分:2)

不确定它的一切,但我将它用于一个特定的效果...

如果您只使用WordBreak,那么如果您的某个单词太宽而无法放在某一行上,则只会剪切该单词...它不会在单词中间中断。但是,如果您希望它在长度超过宽度的单词中断开,以便不会剪切任何内容,则可以向其添加TextBoxControl,它将执行此操作。

TextBox Control需要这样做,因为在编辑文本时,你真的希望能够看到所有的角色。

默认情况下,DataGridView的文本列在没有它的情况下呈现,除非您正在编辑,然后他们使用它进行编辑。现在我正在试图弄清楚DataGridView或其Columns等中是否存在某个设置,这将让我指定TextFormatFlags在渲染时使用,以便我可以解决这个问题。任何线索都非常赞赏。

答案 1 :(得分:1)

看起来它与Padding有关,也许当MultiLines正在播放时。

来自Accurate Font Metrics

  

请注意,我们使用MeasureText计算字符串的大小,然后我们再向高度添加7个像素。这是因为TextBox本身有一些它应用的内部填充,从我们的测试看,它似乎大约是7个像素。