我有一个Windows表单,我想从code-behind操作。换句话说:
我可以做这样的事情:
myForm.TheLableThatIWantToPosition.Text = "Some text!";
myForm.TheLableThatIWantToPosition.ForeColor = Color.Red;
etc.
但是,我怎么能在水平上定位呢?我想横向居中。
我尝试了:
myForm.TheLableThatIWantToPosition.TextAlign = ContentAlignment.MiddleCenter;
以及所有其他选项,但它不会发生。
答案 0 :(得分:2)
如果您想在标签中居中对齐内容 -
AutoSize = false;
TextAlign = MiddleCenter;
答案 1 :(得分:1)
您可以将此代码放在SizeChanged
的<{1}}事件处理程序中:
label1.Parent
最好你应该做这样的事情:
if(label1.Parent != null){ //this if check may be removed if it's sure that Parent is not null
label1.Left = (label1.Parent.Width - label1.Width)/2;
}
要动态制作它,例如你有一个类//SizeChanged event handler for your label1
private void label1_SizeChanged(object sender, EventArgs e){
label1.Left = (label1.Parent.Width - label1.Width)/2;
}
//SizeChanged event handler for your label1's Parent
private void parent_SizeChanged(object sender, EventArgs e){
label1.Left = (label1.Parent.Width - label1.Width)/2;
}
//you can change label1.Parent with a control reference which you know it's the container of your label1.
,并且你希望它在默认情况下居中,只要它被放置/添加到另一个容器中:
CustomLabel