【发布时间】:2019-02-12 19:33:07
【问题描述】:
在用户在第一个组合框中选择一个值后,我在尝试将值放入另一个组合框时遇到问题
private void ClassComboBox_SelectedIndexChanged(object sender, EventArgs e)
{
if (ClassComboBox.Items.ToString().Equals("Warrior"))
{
RoleComboBox.Items.Add("Tank");
RoleComboBox.Items.Add("DPS");
}
}
这是我到目前为止所拥有的,因为一旦玩家选择了他们的战士职业,他们的角色就只能是以下值之一。问题是当我运行它时,我的 RoleComboBox 中没有值。如果有人可以提供帮助,那就太好了。谢谢
【问题讨论】:
-
作为建议,我会考虑创建一个类并设置组合框的数据源。当您扩展程序时,它将更容易限制框的内容。试试看这个:stackoverflow.com/questions/2417960/…
-
你上面的代码真的运行了吗?是否将值添加到
RoleComboBox.Items,如调试器中所见? -
@mmathis 条件是这里的问题,因为您不能以这种方式将 ObjectCollection 转换为字符串,我不是 100% 确定为什么这没有出错,但条件永远不会是真的。
-
@JacobJAShanks 哎呀,我读错了那个代码。当然,它不会出错,因为它是将字符串与字符串进行比较。 ComboBox.Items.ToString() 不会返回任何有意义的东西(可能只是完整的类型),但它仍然是一个字符串。