2014-06-19 90 views
-1

我試圖創建新的控件(TextBox,ComboBox和CheckBox)到Control.ControlCollection,但它不起作用。通常我的WinForm會將其控件傳遞給該方法,但現在我正在嘗試爲它編寫單元測試。將控件添加到Control.Collection

Here's代碼:

 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); 

測試中的AddRange-行失敗。我犯了什麼錯誤?

+1

你永遠不會初始化'controls'。 – gunr2171

+1

可能重複[什麼是NullReferenceException,我該如何解決它?](http://stackoverflow.com/questions/4660142/what-is-a-nullreferenceexception-and-how-do-i-fix-it) – gunr2171

+1

使那個'Control.ControlCollection controls = new Control.ControlCollection();' – TaW

回答

1

好的,我很笨。我忘記了啓動控件

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