【问题标题】:C# can't update ComboBox when Item List is filled填充项目列表时C#无法更新组合框
【发布时间】:2020-05-13 05:27:34
【问题描述】:

我有一个功能可以清除表单上的所有组合框,然后尝试更新文本。 仅当项目列表中没有项目时才会显示新文本。 有谁知道出了什么问题?

我从项目中删除了所有功能,因此只有必要的部分可用。

https://www.dropbox.com/s/ibst7enrteyk9jb/Digitales_Auftragsformular.zip?dl=0

项目已附加。只需开始,转到选项卡“Werkzeuganfrage”,有两个红色组合框。一个没有项目 = 工作,一个项目不工作。

【问题讨论】:

  • 请在此处粘贴代码,以便在链接消失后仍保留该代码。
  • 问题解决了,我用selectedindex = -1代替了text = ""

标签: c# foreach combobox


【解决方案1】:
 public Oberflaeche()
    {
        InitializeComponent();           


        List<ComboBox> myComboBoxes = GetControlsByType<ComboBox>(this, typeof(ComboBox));

        foreach (ComboBox txt in myComboBoxes)
        {
            //txt.Text = "";
            txt.SelectedIndex = -1;

        }
        Werkzeuganfrage_Combobox_rhino1_1.Text = "Rhino1_1";
        Werkzeuganfrage_Combobox_rhino1_2.Text = "Rhino1_2";

        comboBox1.Text = "Rhino1_1";
        comboBox2.Text = "Rhino1_2";
    }



    public List<T> GetControlsByType<T>(Control container, Type type)
    {


        List<T> result = new List<T>();
        foreach (Control c in container.Controls)
        {
            if (c.GetType() == type)
            {
                result.Add((T)Convert.ChangeType(c, typeof(T)));
            }

            if (c.HasChildren)
            {
                result.AddRange(GetControlsByType<T>(c, type));
            }
        }
        return result;
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-06-05
    • 2019-12-30
    • 2017-10-31
    • 1970-01-01
    • 1970-01-01
    • 2014-04-01
    • 2013-12-19
    相关资源
    最近更新 更多