我想了解调用TextFormatFlags.TextBoxControl方法时调用标记TextRenderer.DrawText的效果是什么。
我写了一个小程序,我看不出使用它和不使用它之间的区别。
另外,我使用.NET反射器考虑了代码,并且标志直接传递给本机方法,所以我可以看到效果是什么。
答案 0 :(得分:2)
不确定它的一切,但我将它用于一个特定的效果...
如果您只使用WordBreak,那么如果您的某个单词太宽而无法放在某一行上,则只会剪切该单词...它不会在单词中间中断。但是,如果您希望它在长度超过宽度的单词中断开,以便不会剪切任何内容,则可以向其添加TextBoxControl,它将执行此操作。
TextBox Control需要这样做,因为在编辑文本时,你真的希望能够看到所有的角色。
默认情况下,DataGridView的文本列在没有它的情况下呈现,除非您正在编辑,然后他们使用它进行编辑。现在我正在试图弄清楚DataGridView或其Columns等中是否存在某个设置,这将让我指定TextFormatFlags在渲染时使用,以便我可以解决这个问题。任何线索都非常赞赏。
答案 1 :(得分:1)
看起来它与Padding有关,也许当MultiLines正在播放时。
请注意,我们使用MeasureText计算字符串的大小,然后我们再向高度添加7个像素。这是因为TextBox本身有一些它应用的内部填充,从我们的测试看,它似乎大约是7个像素。