如何根据C#中另一个组合框的选定值更改组合框中的项目

时间:2016-02-24 19:12:29

标签: c# combobox

我再一次需要你的帮助。我有两个名为cmbRFR的组合框和一个名为cmbSubRFR的组合框。 cmbRFR中的项目是:

  • 定位
  • 人工制品
  • PATIENT ID
  • 曝光错误
  • 测试图像

我需要进行设置,以便当用户选择cmbRFR中的一个项目时,它会更改cmbSubRFR中显示的项目。 cmbSubRFR应该如下工作。

当用户选择Null时,组合框也应显示Null / a空白项目。

当用户选择定位时:

  • 解剖截止
  • 轮换
  • 障碍观点
  • 管道或网格中心
  • 运动

当用户选择ARTEFACT时,组合框也应显示ARTEFACT。

当用户选择PATIENT ID时:

  • 患者不正确
  • 不正确的学习/侧面
  • 用户定义的错误

当用户选择EXPOSURE ERROR:

  • 曝光不足
  • 过度曝光
  • 曝光故障

当用户选择TEST IMAGES时:

  • 质量控制
  • 服务/测试

我没有提供此代码的代码,因为我不知道该怎么做。我已经环顾了一些与此相似的其他问题,但我发现没有什么可以帮助我。

任何建议都会有所帮助。

2 个答案:

答案 0 :(得分:0)

有两种方法可以解决这个问题。首先是#34;正确的方式",即设置DataSource property。为每个组合框创建列表,如下所示:

var _positioningItems = new List<string> { "Anatomy cut-off", "Rotation", "Obstructed view" };
var _patientIdItems = new List<string> { "Incorrect Patient", "Incorrect Study/Side", "User Defined Error" };

然后订阅OnSelectedIndexChange组合框上的cmbRFR事件,然后在事件处理程序中,将DataSource设置为适当的列表。

我不赞成的另一种方法是为每个cmbRFR项创建组合框,然后将它们全部隐藏起来,只向用户显示相应的组合框。订阅OnSelectedIndexChange组合框上的cmbRFR活动,隐藏/显示相应的组合框。

答案 1 :(得分:0)

{{1}}