2

我在组合框 selectedindex 上遇到问题。基本上,当我的文本框结果为 1 时,我想禁用 button1。但问题是当 button1 被禁用时,我选择了另一个选项,它不会重新启用。那么还有其他方法吗?下面只是显示编码的一部分。

    double[,] arr; 
    public Form1()
    {
            arr = new double[3, 3];
            for (int i = 0; i < 2; i++)
            {
                arr[0, 0] = 1;
                arr[0, 1] = 0.79;
                arr[0, 2] = 1.17;
                arr[1, 0] = 1.26;
                arr[1, 1] = 1;
                arr[1, 2] = 1.08;
                arr[2, 0] = 0.85;
                arr[2, 1] = 0.93;
                arr[2, 2] = 1;
            }
        void CreateArray()
        {
        if (comboBox1.SelectedIndex == -1 || comboBox2.SelectedIndex == -1)
            return;
        else if (comboBox1.SelectedIndex == 1 || comboBox2.SelectedIndex == 0)
        {
            button1.Enabled = false;
        }
        else if (comboBox1.SelectedIndex == 0 || comboBox2.SelectedIndex == 1)
        {
            button1.Enabled = false;
        }
        else if (comboBox1.SelectedIndex == 1 || comboBox2.SelectedIndex == 2)
        {
            button1.Enabled = false;
        }
        else
        {
            button1.Enabled = true;
        }
4

1 回答 1

2

如果第二个组合框只有 3 个项目,那么您将永远无法到达将按钮重置为启用状态的最后一个 else 子句。

发生这种情况是因为您使用了 || 逻辑或运算符,并且只有三个项目,您将始终在最后一个 else 之前采用 else if 条件之一

于 2013-07-26T12:43:35.010 回答