【发布时间】:2011-02-06 18:23:00
【问题描述】:
除了control.BringToFront()之外,还有其他方法可以将控件置于最前面吗?
我在用户控件上有一系列标签,当我尝试将其中一个放在前面时,它不起作用。我什至遍历了所有控件并将它们全部发送回去,除了我感兴趣的那个,它不会改变任何事情。
这里是给用户控件添加标签的方法
private void AddUserLabel()
{
var field = new UserLabel();
userContainer.Controls.Add(field);
SendLabelsToBack(); // Send All labels to back
userContainer.Controls[field.FieldName].BringToFront();
}
这是将它们全部发送到后面的方法。
private void SendLabelsToBack()
{
foreach (var label in userContainer.Controls);
label.SendToBack();
}
【问题讨论】:
-
一些示例代码会很好。您确定控件在同一个容器控件中吗?将控件设置为前端只会使其成为其容器中的前端控件。
-
这篇文章帮助我解决了完全相同的问题。