UserControl приносить во главе (у которого был фокус)

Я работаю в app рабочего стола (windows forms), в которой мои окна - UserControl, которые я называю их с меню, которое вертикально рядом левое, рядом право у меня есть Панель, которая подает меня как квартира, где я называю UserControl, но я заканчиваюсь понимать, что, когда у тебя есть UserControl уже в Панели, и ты называешь другой UserControl envez того, чтобы приходить на том, который уже был, он появляется внизу.

Есть какой-то способ приносить во главе UserControl, если он состоит в том, что уже есть один внутри Панели?

1
задан 14.07.2017, 03:11
2 ответа

Если ты загружаешь User, контроль внутри панели был бы рекомендуемым загружать того, который у тебя был заблаговременно, у тебя это перемещая

public void mnuxx_Click(..){

   Panel1.Controls.Clear();

   UserControl1 uc = new UserControl1();
   Panel1.Controls.Add(uc);

}

Из этой формы не было бы проблем наложения контроля, кроме того, если у тебя только есть активный контроль для того, чтобы иметь оставшуюся часть в памяти.

1
ответ дан 24.11.2019, 14:30
  • 1
    Лучшее возвращение, которое должно использовать формуляры, и я не осложняюсь. – Pedro Ávila 30.04.2016, 00:13
  • 2
    @Pedro и # 193; vila, но потому что осложняться то, если он простой, все зависит от от, как ты захотел поддержать контроль. Если он одинокий, один использует Clear () и потом распределяет инстанцию. Если ты хочешь поддержать некоторые, там он рекомендовал бы использовать Tabs, чтобы показывать каждый user контроль в одной отличный tabpage – Leandro Tuttini 30.04.2016, 04:52

То, за чем оно последует, состоит в том, что, когда ты добавляешь Контроль над нею colecciГіn controls из каждого контейнера z-order обновляет , и этот envГ - в в фон. Хорошее состоит в том, что ты имеешь доступно mГ©todos, чтобы это изменять.

у Тебя Есть этот mГ©todo доступно, получив в наследство Контроля:

Control.BringToFront()

Например:

 panel1.BringToFront();

TambiГ©n ты можешь манипулировать z-order из каждого контроля внутри нее colecciГіn Controls из каждых container с GetChildIndex и SetChildIndex

// Obtener el  index de un control
int zIndex = controlPadre.Controls.GetChildIndex(textBox);
// Enviar al frente
textBox.BringToFront();
// aqui tu programa hace algo ...
// Luego lo mandamos donde estaba antes de traerlo al frente
controlPadre.Controls.SetChildIndex(textBox, zIndex);
2
ответ дан 24.11.2019, 14:30

Теги

Похожие вопросы