2017-02-14 26 views
0

Я использую C# WinForms.NullReferenceException при удалении UserControl во вкладке

Я использую usercontrol под названием AGauge. http://www.codearteng.com/2012/08/agauge-winforms-gauge-control.html Я добавил элемент управления на одну из страниц вкладок в представлении «Дизайн».

Если я закрыть окно, не открывая закладку, которая содержит элемент управления, то я получаю NullReferenceException (NullReferenceException произошло в AGauge.dll - Ссылка на объект не указывает на экземпляр объекта)

Если я откройте вкладку, а затем закройте окно, тогда все будет хорошо.

Исключение происходит в функции Dispose() при выполнении base.Dispose (утилизация)

Поскольку я не имею никакого представления в коду в AGauge.dll, я не уверен, что делать. Я полагаю, что я могу создать элементы управления во время выполнения, когда откроется страница закладки, но это не идеально.

ответ

0

Я исправил проблему, создав пользовательский элемент управления в функции Selected() элемента управления вкладкой.

private void tb_Panel_Selected(object sender, TabControlEventArgs e) 
{ 
    if (myUserControl == null) 
    { 
     this.myUserControl = new System.Windows.Forms.AGauge(); 
     ... 
     ... 
     this.Panel.Controls.Add(this.myUserControl) 
    } 
} 

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

  • Нет связанных вопросов^_^