【发布时间】:2012-11-08 06:43:31
【问题描述】:
我想了解在调用TextRenderer.DrawText 方法时启用标志TextFormatFlags.TextBoxControl 的效果。
我写了一个小程序,看不出使用和不使用的区别。
另外,我使用 .NET 反射器检查了代码,并将标志直接传递给本机方法,因此我可以看到效果。
【问题讨论】:
标签: .net winforms text drawing
我想了解在调用TextRenderer.DrawText 方法时启用标志TextFormatFlags.TextBoxControl 的效果。
我写了一个小程序,看不出使用和不使用的区别。
另外,我使用 .NET 反射器检查了代码,并将标志直接传递给本机方法,因此我可以看到效果。
【问题讨论】:
标签: .net winforms text drawing
不确定它的所有功能,但我将它用于一种特定的效果......
如果您只使用 WordBreak,那么如果您的单词太宽而无法放在一行中,它只会剪切该单词......它不会在单词中间中断。但是,如果您希望它在比宽度长的单词中中断,这样就不会剪裁任何内容,您可以将 TextBoxControl 添加到它,它会这样做。
TextBox 控件需要它,因为当您编辑文本时,您确实希望能够看到所有字符。
默认情况下,DataGridView 的文本列在没有它的情况下呈现,除非您正在编辑,然后他们使用它进行编辑。现在我正在尝试弄清楚 DataGridView 或其列等中是否有设置,这将让我指定 TextFormatFlags 在渲染它时使用,以便我可以解决这个问题。非常感谢任何线索。
【讨论】:
看起来它与 Padding 有关,可能是在 MultiLines 发挥作用时。
请注意,我们使用 MeasureText 计算字符串的大小,然后在高度上增加 7 个像素。这是因为 TextBox 本身有一些它应用的内部填充,从我们的测试来看,它看起来大约是 7 个像素。
【讨论】: