首页 > 解决方案 > 从另一个 Combobox 中选择时更改另一个 Combobox Item 列表

问题描述

我有 3 个字符串数组作为我的 Combobox 的数据源。

        public string[] monitoringDays =
                         new[] { "Sunday", "Tuesday", "Wednesday",
                        "Thursday", "Friday", "Saturday",
                        "Sunday" };
        public string[] specialtemplates = new[] {
            "GENSET PAD & CANOPY CONSTR",
            "ATS INSTALLATION NSA",
            "GENSET CANOPY PAT",
            "TWR CON SKOM AND MOB",
            "SITE SURVEY ACCESS PASS"
        };

        public string[] templates = new[] {
            "IMPLEMENTATION",
            "SKOM ACESS PASS",
            "LOSR SURVEY ACCESS PASS",
            "SOIL TEST ACCESS PASS",
            "IMPLEM ACU INSTALLATION",
            "SOIL TEST",
            "Site Survey AC Upgrade NSA",
            "AC UPGRADE IMPLEM SA",
            "AC UPGRADE EXT SA",
            "GENSET PAD & CANOPY CONSTR",
            "ATS INSTALLATION NSA",
            "GENSET CANOPY PAT",
            "TWR CON SKOM AND MOB",
            "SITE SURVEY ACCESS PASS"
        };

这些字符串数组中的每一个都是组合框 A 和 B 的数据源。

选择特定组合框 A 的项目时,我应该怎么做才能更改组合框 B 的项目列表(例如,当我选择星期一时,组合框项目将更改为specialtemplates

我努力了

            if (cbMonitor.SelectedIndex == 1) {
                cboxTemplate.DataSource = specialtemplates;
            }

但它不起作用。(完全错误)

干杯!

标签: c#visual-studiowinforms

解决方案


您需要调用Refresh方法,以便它更新组合框数据并反映在 UI 上:

cboxTemplate.DataSource = specialtemplates;
cboxTemplate.Refresh(); // call this method

推荐阅读