Согласно документу MSDN, операция закрытия в форме, показанной с ShowDialog(), должна приводить к скрытию формы. Последующие вызовы ShowDialog() будут отображать форму.Диалоговое окно делает больше, чем просто скрывается при закрытии
Это, похоже, не так. У меня есть форма с древовидным надзором. Статусы проверки сохраняются между вызовами ShowDialog(), но любое расширение узла, которое пользователь выполнил, возвращается к состоянию по умолчанию. Кроме того, событие Load также выполняется каждый раз. Поэтому кажется, что он делает больше, чем просто «скрывает» форму. Кто-нибудь знает, что случилось?
Thanks
Посмотрим, пожалуйста, код! Бьюсь об заклад, вы воссоздаете форму вместо повторного использования экземпляра. –
Похоже, что вы неправильно связали мероприятие, можете ли вы показать, какой у вас код в отношении проблем, о которых вы сообщаете? – MethodMan
Это нормальное поведение. Winforms способен повторно создавать собственные окна из сохраненного состояния в элементах управления. Но TreeView сложно, у него слишком много состояний, связанных с ним. Winforms не пытается сохранить состояние узлов. Таким образом, он восстановится, когда все узлы снова рухнут, когда он снова создаст собственное окно. –