Существуют ли какие-либо другие способы управления элементом управления, отличным от control.BringToFront()? У меня есть серия ярлыков на пользовательском элементе управления, и когда я пытаюсь привести одного из них на передний план, он не работает. Я даже зациклился на всех элементах управления и отправил их обратно, за исключением того, что меня интересует, и это ничего не меняет.
Вот метод, в котором метка добавляется в пользовательский элемент управления
private void AddUserLabel()
{
UserLabel field = new UserLabel();
++fieldNumber;
field.Name = "field" + fieldNumber.ToString();
field.Top = field.FieldTop + fieldNumber;
field.Left = field.FieldLeft + fieldNumber;
field.Height = field.FieldHeight;
field.Width = field.FieldWidth;
field.RotationAngle = field.FieldRotation;
field.Barcode = field.BarCoded;
field.HumanReadable = field.HumanReadable;
field.Text = field.FieldText;
field.ForeColor = Color.Black;
field.MouseDown += new MouseEventHandler(label_MouseDown);
field.MouseUp += new MouseEventHandler(label_MouseUp);
field.MouseMove += new MouseEventHandler(label_MouseMove);
userContainer.Controls.Add(field);
SendLabelsToBack(); //Send All labels to back
userContainer.Controls[field.FieldName].BringToFront();
}
Вот метод, который отправляет все из них обратно.
private void SendLabelsToBack()
{
foreach (UserLabel lbl in userContainer.Controls)
{
lbl.SendToBack();
}
}