将ComboBox作为布尔值返回

时间:2013-08-07 15:20:54

标签: c# winforms

我知道对于comboBox使用布尔值不是最佳做法,但对于返回数据的应用程序,是/否是所有需要的。我试图回复是或否,但我会收到警告并可能出现意外情况。非常感谢任何帮助清理代码。

public bool PlayDataToEnd
{
    get
    {
        return this.PlayDataToEnd.SelectedValue == "Yes";
    }
    set
    {
        this.PlayDataToEnd.SelectedValue = true;
    }
}

1 个答案:

答案 0 :(得分:3)

假设您的内部ComboBox名为playDataToEndCombo

public bool PlayDataToEnd
{
    get
    {
        return playDataToEndCombo.SelectedValue.ToString() == "Yes";
    }
    set
    {
        playDataToEndCombo.SelectedValue = value ? "Yes" : "No";
    }
}

我认为您应该将Index与约定0 for Yes1 for No一起使用:

public bool PlayDataToEnd
{
    get
    {
        return playDataToEndCombo.SelectedIndex == 0;
    }
    set
    {
        playDataToEndCombo.SelectedIndex = value ?  0 : 1;
    }
}