Я пытаюсь изменить внешний вид моей формы, когда она скрыта.А затем сделайте его видимым.
private void HideLabelAndShowForm()
{
label1.Hide();
Invalidate(true);
Update();
// thinking we now have no label on the form?
Show();
// no! the label is still visible!
// and gets hidden after a moment
}
Почему форма перерисовывается только после того, как предыдущее содержимое (с видимой меткой) отображается на мгновение?Любой обходной путь?
Обновление
- Это происходит только при включенной компоновке рабочего стола (я использую Windows 7).
- Удаление Invalidate и Update не помогает
- Метод вызывается из потока пользовательского интерфейса
- Добавление Thread.Sleep и Application.DoEvents везде не помогает
- Calling Showпосле задержки из отдельного потока (с помощью Invoke) не помогает