DockContent.DockHandler.DockPanel только для чтения

Я использую Dockpanel-suite, и у меня в основном открыто 3 формы. Одной из них является форма "Документ", в которой может быть открыто несколько документов, тогда как две другие формы являются единичными экземплярами.

На каком-то этапе я хочу найти и закрыть некоторые формы документов. Теперь согласно документации для DockPanel-Suite это гласит

Удаление DockContent из DockPanel Чтобы освободить DockContent из DockPanel, просто установите для DockContent.DockHandler.DockPanel значение null.

Но DockHandler доступен только для чтения, поэтому я не могу установить его в ноль. Как я могу найти нужные мне документы и выполнить над ними какие-либо действия, например закрыть их?

На данный момент я делаю это;

foreach (DockContent dock in this.dockPanel1.Documents)
{
    if (dock.GetType() == typeof(FormQueryBuilder))
    {
        FormQueryBuilder qb = (FormQueryBuilder)dock;
        string number = qb.TabText.Replace("Query ", "");  //close all documents except those which start "Query 1"
        if (Convert.ToInt32(number) > 1)
        {
            dock.Close();
        }
    }
}

Странно, если я вызову dock.Close(), это закроет документ, но если он вызывается во время события "FormClosing" моей основной (содержащей) формы, то он останавливает закрытие моей формы. Похоже, устанавливается какое-то значение, чтобы отменить это!

0 ответов

Другие вопросы по тегам