У меня есть экран, который разделен на несколько сплитконтейнеров.Один из них содержит прямоугольники, компоненты которых я сделал, эти «прямоугольники» представляют больничные койки.Я хотел дать пользователям возможность переключаться между этим «представлением пользовательских компонентов» и «представлением сетки данных».
Итак, я создал панель pnlPatients, которой я назначаю такой же размер, что и splitcontainer с пользователем.компоненты.Когда пользователь выбирает «Изменить вид», программа должна переключаться между двумя макетами.
Код: Попытка 1:
if (pnlPatients.Visible)
pnlPatients.Hide();
else
{
pnlPatients.Show();
pnlPatients.BringToFront();
}
Попытка 2:
pnlPatients.Visible = !pnlPatients.Visible;
pnlPatients.Invalidate();
Странно то, что обе попытки работают так:
Пользователь сначала видит «представление компонента пользователя».Если бы он переключал вид, он бы правильно показывал панель поверх предыдущего вида.Если он снова переключится, панель будет правильно скрыта.Если он затем снова переключит вид, то панель не будет показана.ПРИМЕЧАНИЕ: во время отладки свойство visible панели правильно изменяется на TRUE или FALSE.Но по какой-то причине панель видна только в первый раз, когда она отображается в ИСТИНА.
У кого-нибудь есть идея?
С наилучшими пожеланиями
ПравитьЯ тоже пробовал это, но безуспешно:
pnlPatients.Visible = !pnlPatients.Visible;
if (pnlPatients.Visible)
{
pnlPatients.BringToFront();
}
else
{
pnlPatients.SendToBack();
}