Winforms TextBox垂直对齐并带有FixedSingle边框

时间:2018-06-21 16:01:51

标签: winforms textbox alignment

当您将TextBox控件的BorderStyle属性更改为FixedSingle时,输入的文本不再正确地在控件内部垂直居中。底部的填充物比顶部的填充物大得多。我该如何摆脱呢?

这是在Windows 7上。

Textbox

1 个答案:

答案 0 :(得分:0)

是的,有点烂了。作弊的一种方法是将边框更改为无,并在容器的绘制事件中绘制无边框文本框周围的边框:

Rectangle r = new Rectangle(textBox1.Left - 3, textBox1.Top - 3,
                            textBox1.Width + 5, textBox1.Height + 5);
e.Graphics.FillRectangle(SystemBrushes.Window, r);
e.Graphics.DrawRectangle(SystemPens.WindowFrame, r);

结果:

enter image description here