当我将文本框的锚点设置为顶部,底部,左侧,右侧时,文本框仍然位于顶部。我不明白,这似乎适用于标签和按钮。我有点需要这个锚属性才能很好地适应表单调整大小。
对不起,如果我错过了一些非常明显的东西。
答案 0 :(得分:0)
如果我理解您的问题,您希望单行文本框在表单中垂直和水平显示。仍然没有显示多行。在这种情况下,您可以只设置Anchor Left和Right属性,使文本框在窗体上水平居中,但对于垂直位置,您需要使用代码调整窗体的Resize事件中文本框的Iop属性
例如,在调用表单的InitializeCompoment之后,您可以添加以下代码来使文本框居中(C#但可以轻松转换为VB.NET)
textBox1.Left = 10;
textBox1.Width = yourForm.ClientSize.Width - 20;
textBox1.Top = (yourForm.ClientSize.Height / 2) - yourForm.Height / 2;
textBox1.Anchor = AnchorStyles.Left | AnchorStyles.Right;
然后为表单的resize事件添加事件处理程序,您可以再次调用文本框的垂直重新定位
protected void yourForm_Resize(object sender, EventArgs e)
{
textBox1.Top = (this.ClientSize.Height / 2) - textBox1.Height / 2;
}