2014-06-19 3 views
-1

J'essaie de créer de nouveaux contrôles (TextBox, ComboBox et CheckBox) à un Control.ControlCollection, mais il ne fonctionne pas. Normalement, mon WinForm passerait ses contrôles à cette méthode, mais maintenant j'essaye d'écrire un test unitaire pour cela.Ajouter des contrôles à Control.Collection

Here's du code:

 TestClass target = new TestClass(); 
     Control.ControlCollection controls = null; 
     CheckBox checkBox = new CheckBox(); 
     checkBox.Name = "SomeCheckBox"; 
     checkBox.Checked = true; 
     ComboBox comboBox = new ComboBox(); 
     comboBox.Name = "SomeComboBox"; 
     checkBox.Text = "Some text in CB"; 
     TextBox count = new TextBox(); 
     count.Name = "CountTextBox"; 
     count.Text = "20"; 
     TextBox date = new TextBox(); 
     date.Name = "DateNow"; 
     date.Text = System.DateTime.Now.ToString("dd.MM.yyyy"); 
     controls.AddRange(new Control[] {checkBox, comboBox, count, date }); 
     string actual; 
     actual = target.saveEverything(controls); 

test échoue dans le AddRange-Row. Quelle erreur ai-je faite?

+1

Vous n'initialisez jamais 'controls'. – gunr2171

+1

duplication possible de [Qu'est-ce qu'une exception NullReferenceException et comment la réparer?] (Http://stackoverflow.com/questions/4660142/what-is-a-nullreferenceexception-and-how-do-i-fix-it) – gunr2171

+1

Faites que 'Control.ControlCollection controls = new Control.ControlCollection();' – TaW

Répondre

1

Ok, je suis stupide. J'ai oublié d'initier contrôles.

Control con = new Control(); 
Control.ControlCollection controls = new Control.ControlCollection(con); 
Questions connexes