如何在更改表单大小时更改文本框的位置

时间:2013-10-09 19:31:45

标签: c# winforms

我有一个文本框,当在列表框上单击数据时,它会提供创建者/更新者的信息以及数据库中数据创建/更新的日期。文本框位于表单的右侧底部。

当用户通过拖动表单来修改大小时,它会更改信息文本框的位置

是否可以使用SizeChanged事件移动文本框以及如何移动(通过传递textchanged)

我已经尝试但我无法做到。我将TextChanged分配给SizeChanged事件。它有效!

但是必须有一种方法可以在不使用TextChanged事件的情况下完成它。

这是我的代码有效但不满意我。

private void infoTxt_TextChanged  (object sender, EventArgs e)
{
    infoTxt.Top = (this.Height - this.Top)  + infoTxt.Height* 3/4 ;
    infoTxt.Left = this.Width - (infoTxt.Width) ;
}

2 个答案:

答案 0 :(得分:4)

将文本框锚定到表单的底部和右侧,如下所示:

// Anchor the text box to the bottom right corner of the form
infoTxt.Anchor = (AnchorStyles.Bottom | AnchorStyles.Right);

答案 1 :(得分:0)

执行此操作的最佳方法是使用anchordock文本框