我有一个包含多个 TextBox 控件的表单。有些将多行设置为真,有些则设置为否。使用大字体时,文本位置很明显不同。当 multiline 为真时,文本周围会出现某种额外的边距。下面的代码片段
TextBox textBox = new TextBox();
textBox.Text = "Test";
textBox.Font = new Font("Segoe UI", 16);
Console.WriteLine("Single Line:" + textBox.GetPositionFromCharIndex(0));
textBox.Multiline = true;
Console.WriteLine("Multi Line:" + textBox.GetPositionFromCharIndex(0));
输出单行:{X=1,Y=0} 多行:{X=7,Y=1}
我的问题是:为什么要在多行模式下添加此边距?这可以避免/控制吗?
我已经发现多行模式下的文本是用
TextFormatFlags.TextBoxControl | TextFormatFlags.WordBreak | TextFormatFlags.NoClipping
在单行模式下
TextFormatFlags.TextBoxControl | TextFormatFlags.NoPadding | TextFormatFlags.SingleLine
用来。有没有办法控制 TextBox 使用的 TextFormatFlags?
感谢您为回答我的问题所做的任何努力!