C# 将控件添加到控件集合
我正在尝试为Control.ControlCollection创建新控件(TextBox、ComboBox和CheckBox),但它不起作用。通常我的WinForm会将其控件传递给该方法,但现在我正试图为其编写一个单元测试 代码如下:C# 将控件添加到控件集合,c#,winforms,unit-testing,C#,Winforms,Unit Testing,我正在尝试为Control.ControlCollection创建新控件(TextBox、ComboBox和CheckBox),但它不起作用。通常我的WinForm会将其控件传递给该方法,但现在我正试图为其编写一个单元测试 代码如下: TestClass target = new TestClass(); Control.ControlCollection controls = null; CheckBox checkBox = new Chec
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行中的测试失败。我犯了什么错误?好吧,我很愚蠢。我忘了初始化控件
您从不初始化
控件
。可能会重复生成Control.ControlCollection controls=new Control.ControlCollection()代码>@gunr217哦,我太蠢了。-谢谢。:)@t您忘记了新控件。ControlCollection()需要一个控件来传递,但现在它可以工作了。
Control con = new Control();
Control.ControlCollection controls = new Control.ControlCollection(con);