2010-04-19 6 views
0

У меня есть MainForm, у которого есть вкладка Control и несколько независимых форм. Я открываю каждый индивидуум From на вкладке основной формы. Кнопка «Закрыть вкладку» на MainFrom закрывает текущую вкладку, ее реализация ниже.Dispose Форма, открытая на вкладке MainForm

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

Любая помощь приветствуется. Спасибо в Advance.

'Close the current tab 
    Private Sub CloseCurrentTab() 
    'Close the current tab 

     Dim tabPageSave As TabPage 
     tabPageSave = tcDisplayDetails.SelectedTab 
     tcDisplayDetails.TabPages.Remove(tabPageSave) 

End Sub

ответ

0

Я бы предложил сохранить ссылку на формы в главной форме. Так что я бы иметь frmPageSave и когда я открываю форму для закладки PageSave хранить ссылку на эту переменную, а затем в методе CloseCurrentTab я хотел бы добавить что-то вроде:

IF frmPageSave IsNot Nothing Then 
    frmPageSave.Close() 
    frmPageSave = Nothing 
End If 
1

Да, вам нужно для размещения всех элементов управления на закладке. Форма не является особой, это просто дочерний элемент управления, когда вы устанавливаете для свойства TopLevel значение false. Сделать это выглядит следующим образом:

Dim tabPageSave As TabPage 
    tabPageSave = tcDisplayDetails.SelectedTab 
    While tabPageSave.Controls.Count > 0 
     tabPageSave.Controls(0).Dispose() 
    End While 
    tcDisplayDetails.TabPages.Remove(tabPageSave) 

метод в виде Dispose() будет автоматически распоряжаться любой ребенок управляет не имеет, требуется никакая дополнительная помощь.

Смежные вопросы