У меня странная и противоречивая проблема.
Приложение встроено в компактную среду 3.5, работающую на устройстве под управлением Windows Mobile 6.5.
Экран приложения выглядит примерно так.
MainScreen (который всегда работает)
Screen1
Screen2
SCREEN3
Главный экран -> Экран1 -> Экран2 -> Экран3 -> Главный экран
Когда цикл завершен и приложение возвращается на MainScreen, вызывается MainScreen.Activation () и при условии автоматически запускается Screen1.
Код выглядит примерно так:
private void MainScreen_Activated(object sender, EventArgs e)
{
if (Condition)
{
NextScreen();
return;
}
//other code here
}
private void NextScreen()
{
Screen1 formScreen1 = new Screen1 ();
formScreen1 .Show();
}
Screen1 также имеет этот фрагмент кода в загрузке формы:
private void Screen1_Load(object sender, System.EventArgs e)
{
if(Condition)
{
NextScreen();
}
}
private void NextScreen()
{
Screen2 formScreen2= new Screen2();
formScreen2.Show();
Close();
}
Поэтому, когда это условие в Screen1_Load выполнено, приложение автоматически запускает Screen2 и закрывает его.
В этом конкретном случае случается, что иногда элемент управления на Screen2 располагается после создания формы. Я знаю это, потому что на самом деле могу видеть управление на долю секунды на экране.
Эта проблема также противоречива, она не будет происходить все время в точном сценарии, который заставляет меня поверить, что это что-то случилось с плохим временем
Элемент управления, который удаляется, кажется, также выбирается случайным образом, в большинстве случаев это одна и та же кнопка, но были случаи, когда выбрасывался список из формы.
Обратите внимание, что в приложении нет кода, который будет вызывать утилизацию элемента управления.
Любая помощь очень ценится. Спасибо, надеюсь, я объяснил проблему достаточно хорошо.