2015-04-24 2 views
0

Недавно я решил реализовать пакет WifenLuo DockPanel Suite в своем приложении VB.NET. Все работает отлично, пока вы не попытаетесь закрыть приложение, а затем замерзаете. Ничего не произошло.WeifenLuo DockPanel Suite Form Freeze on Close

Я пробовал:

  • Утилизация DockPanel перед закрытием
  • Использование Application.Exit()
  • RunningApplication.DoEvents() перед закрытием
  • Закрытие всех открытых форм DockPanel перед закрытием.
  • Запуск приложения за пределами Visual Studio Debugger.
  • Настройка Visual Studio целевой x86 вместо AnyCPU
  • Обновление/не Загрузка рамочной версии DockPanel Люкса

Но до сих пор ничего, т еще просто замерзает.

Выход показывает следующие сообщения:

The thread 0x1f34 has exited with code 259 (0x103). 
The thread 0x22b8 has exited with code 259 (0x103). 

с именами нитей будучи каждый раз разный. Однако у меня нет потоков.

Это происходит только на форме с помощью DockPanel.

Любые мысли? Я не могу найти кого-либо еще с этой проблемой в Интернете, и это действительно расстраивает.

Спасибо.

+0

Таким образом, оно воспроизводится на минимальном примере? Например, создайте новый проект, ссылку DPS, добавьте док-панель в form1 и запустите проект. Это крушение? Если нет, что вы делаете с Dockpanel? Какой код включает ваша процедура выключения? Я использую DPS, и он отлично работает, поэтому вы делаете что-то, что делает его неработоспособным, и мы не можем знать, что это такое, если вы не скажете нам, что вы делаете в первую очередь :-) – Jens

ответ

0

В форме закрытия события моего заявления, я итерация всех открытых документов в DockPanel с помощью:

While i < DockPanel1.ActiveDocumentPane.Contents.Count 
     Dim dockContent As IDockContent = DockPanel1.ActiveDocumentPane.Contents(i) 
     dockContent.DockHandler.Close() 
End While 

Это причиняло приложение замерзать. Чтобы исправить это, я заменил код следующим образом:

For Each item As DockContent In DockPanel1.Documents 
     item.DockHandler.Close() 
Next 
Смежные вопросы