У меня есть это изображение, и я хочу, чтобы он был поверх другого изображения.Сделайте A Control Be Top
(окно формы приложения, C#)
У меня есть это изображение, и я хочу, чтобы он был поверх другого изображения.Сделайте A Control Be Top
(окно формы приложения, C#)
Если это один контроль частично перекрывает другую, и вы хотите, один или другой на вершине, щелкните правой кнопкой мыши на изображение, которое вы хотите на вершине в конструкторе, и выбрать «Bring На фронт ". Существует «Send To Back», который вы можете использовать на изображении, который хотите позади другого.
Если вам нужна частичная прозрачность, например альфа-маска на верхнем изображении или градиентная смесь между двумя изображениями прямо поверх другой, вам, вероятно, понадобятся более продвинутые возможности графики WPF. Вы можете делать пиксельные эффекты в WinForms, но в Winforms нет ничего, чтобы обрабатывать прозрачность изображения, а манипуляция изображениями в Winforms для каждого пикселя не будет использовать преимущества любого графического ускорения (100% -ный процессор , а накладные расходы времени выполнения замедляют вас дальше).
В коде у вас есть несколько вызовов, которые вы можете сделать. BringToFront и SendToBack, вероятно, самый простой:
yourControl.BringToFront();
yourControl.SendToBack();
Также вы можете контролировать, что от элемента управления родительского контейнера с использованием Control.ControlCollection.SetChildIndex. Например:
// Bring control to front
MyForm.Controls.SetChildIndex(SomeControl, 0);
В противном случае просто нажмите кнопку «Переместить на передний план» или «Отправить обратно» в конструкторе, а @KeithS уже ответил.
Не работает для меня, я в конечном итоге использовал someControl.BringToFront() –
Хорошая точка! - Добавили их в качестве примеров тоже. – noelicus
Есть ли возможность довести до конца или довести метод? Либо в коде, либо даже в меню правой кнопки мыши в IDE – Tim