在列表中添加项目到组合框

时间:2012-09-16 19:27:46

标签: c#

我有一个清单

List<Control> inputBoxes = new List<Control>();

我添加了组合框和文本框。

我可以使用inputBoxes[0].GetType().GetProperty("Text").SetValue(inputBoxes[0], "ABC", null);设置text属性 但是如何将项目添加到组合框并选择它们?

我能以某种方式使用inputBoxes[0].GetType().GetMethod()吗?

1 个答案:

答案 0 :(得分:0)

为什么使用反射来简单地设置属性?

您可以使用更有效且不易出错的内容:

inputBoxes.OfType<TextBox>().ElementAt(0).Text = "ABC";

如果要将项目添加到一个(或多个)组合框:

var combos =  inputBoxes.OfType<ComboBox>();
foreach(ComboBox combo in combos)
{
    // add items here or set their DataDource, for example:
    string[] installs = new string[]{"Typical", "Compact", "Custom"};
    combo.Items.AddRange(installs);
}

请注意,您需要为using System.Linq

添加OfType