Null Ref при добавлении TabPages во время выполнения - PullRequest
0 голосов
/ 29 мая 2010

Это пример кода, который я написал, чтобы добавить некоторые вкладки с элементами управления во время выполнения. но когда я запускаю его, я получаю ошибку исключения Null Ref. какую часть я делаю не так?

TabPage[] tabPages = new TabPage[2];
CheckBox ck = new CheckBox();
tabPages[0].BackColor = Color.Firebrick;
tabPages[0].Controls.Add(ck);
tabPages[1].BackColor = Color.Firebrick;
tabPages[1].Controls.Add(ck);
tabGuy.SuspendLayout();
tabGuy.TabPages.Add(tabPages[0]);
tabGuy.TabPages.Add(tabPages[1]);
tabGuy.ResumeLayout(); 

Ответы [ 2 ]

4 голосов
/ 29 мая 2010

Вы пропускаете tabPages[0] = new TabPage() и tabPages[1] = new TabPage() перед любым назначением. Создание массива присваивает каждому его элементу значение по умолчанию, то есть null для любого ссылочного типа.

3 голосов
/ 29 мая 2010

Мне кажется, что вы создаете только новый массив TabPage, я бы предложил попробовать

tabPages[0] = new TabPage();

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

tabPages[0].BackColor = Color.FireBrick;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...