0

フォーム上に、numericUpDown 値に対応して表示したいパネルがいくつかあります。(つまり、値が 1 の場合はパネル 1 が表示され、数値が 2 の場合はパネル 1 と 2 が表示され、値が 3 の場合はパネル 1 2 と 3 が表示されます。など)

既存のコードで最初のパネルを期待どおりに機能させることができますが、後続のパネルが意図したとおりに表示または非表示になりません。理由はよくわかりません。NUP の値が変更されたときに更新されていないためですか?

コード:

private void petNumNumericUpDown_ValueChanged(object sender, EventArgs e)

    {
        if ((petNumNumericUpDown.Value == 1) || (petNumNumericUpDown.Value == 2) ||(petNumNumericUpDown.Value == 3) || (petNumNumericUpDown.Value == 4) || (petNumNumericUpDown.Value == 5))
        {
            pet1Panel.Visible = true;
        }

        else
        {
            pet1Panel.Visible = false;
        }

        if((petNumNumericUpDown.Value == 2) || (petNumNumericUpDown.Value == 3) || (petNumNumericUpDown.Value == 4) || (petNumNumericUpDown.Value == 5))
        {
            pet2Panel.Visible = true;
        }

        else
        {
            pet2Panel.Visible = false;
        }
    }

これを5日まで続けたいと思っています。私が間違っていることについての洞察をいただければ幸いです。

4

1 に答える 1