C# 从其他组合框中选择时更改其他组合框项目列表
我有3个字符串数组作为组合框的数据源C# 从其他组合框中选择时更改其他组合框项目列表,c#,visual-studio,winforms,C#,Visual Studio,Winforms,我有3个字符串数组作为组合框的数据源 public string[] monitoringDays = new[] { "Sunday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" }; 及 每个字符串数组都是组合框A和B的数据源 选择特定组合
public string[] monitoringDays =
new[] { "Sunday", "Tuesday", "Wednesday",
"Thursday", "Friday", "Saturday",
"Sunday" };
及
每个字符串数组都是组合框A和B的数据源
选择特定组合框A的项目时,我应该如何使组合框B的项目列表发生变化(例如,当我选择星期一时,组合框项目将变为specialtemplates
)
我试过了
if (cbMonitor.SelectedIndex == 1) {
cboxTemplate.DataSource = specialtemplates;
}
但它不起作用。(完全错了)
干杯 您需要调用
Refresh
方法,以便它更新组合框数据并反映在UI上:
cboxTemplate.DataSource = specialtemplates;
cboxTemplate.Refresh(); // call this method
您需要调用
Refresh
方法,以便它更新组合框数据并反映在UI上:
cboxTemplate.DataSource = specialtemplates;
cboxTemplate.Refresh(); // call this method
在你的监控日里错过了星期一 您需要在cbMonitor上创建SelectedValueChanged事件处理程序,并隐藏以下代码:
那就行了。在你的监护日里错过了星期一 您需要在cbMonitor上创建SelectedValueChanged事件处理程序,并隐藏以下代码:
那就行了。真的不需要。
刷新
与此问题无关。您只需处理SelectedIndexChanged
,并根据第一个组合的选定索引设置if/else和第二个组合的数据源。确实不需要。Refresh
与此问题无关。您只需处理SelectedIndexChanged
,并根据第一个组合的选定索引设置if/else和第二个组合的数据源。
cboxTemplate.DataSource = specialtemplates;
cboxTemplate.Refresh(); // call this method
private void cbMonitor_SelectedValueChanged(object sender, EventArgs e)
{
if (cbMonitor.SelectedIndex == 1)
cboxTemplate.DataSource = specialtemplates;
}