-1

私は単純なフルーツマシンをコーディングしていますが、これは私の方法の1つです。このコードをより効率的にすることができるかどうか疑問に思っていました:(caseを使用する前に、if / else ifステートメントがありました)

_intNudgeCount は 0 から 9 までの数値を取得します。

public void DrawNudgeCount()
    {
        switch (_intNudgeCount)
        {
            case 9:
                pictureBoxNudgeCount.Image = Properties.Resources._9;
                break;
            case 8:
                pictureBoxNudgeCount.Image = Properties.Resources._8;
                break;
            case 7:
                pictureBoxNudgeCount.Image = Properties.Resources._7;
                break;
            case 6:
                pictureBoxNudgeCount.Image = Properties.Resources._6;
                break;
            case 5:
                pictureBoxNudgeCount.Image = Properties.Resources._5;
                break;
            case 4:
                pictureBoxNudgeCount.Image = Properties.Resources._4;
                break;
            case 3:
                pictureBoxNudgeCount.Image = Properties.Resources._3;
                break;
            case 2:
                pictureBoxNudgeCount.Image = Properties.Resources._2;
                break;
            case 1:
                pictureBoxNudgeCount.Image = Properties.Resources._1;
                break;
            case 0:
                pictureBoxNudgeCount.Image = Properties.Resources._0;
                break;
        }
    }

前もって感謝します!

解決済み:

3 行のコードにまとめました。

// クラスの先頭でリソース イメージを宣言します。

private System.Drawing.Image[]  _arrayNudgeCount;

//クラスをロードするときに配列に値を入力します。

_arrayNudgeCount = new System.Drawing.Image[] { Properties.Resources._0, Properties.Resources._1};

//画像の再描画

public void DrawNudgeCount()
{
pictureBoxNudgeCount.Image = _arrayNudgeCount[_intNudgeCount];
}
4

2 に答える 2

0

私はそれをたった1行のコードに減らしたでしょう。私はあなたでした!

pictureBoxNudgeCount.Image = (Image)Properties.Resources.ResourceManager.GetObject("_" + _intNudgeCount);
于 2013-04-21T04:00:11.487 に答える
0

画像をアプリケーションの横のフォルダーに配置し、pictureBoxNudgeCount.Load(ConstantSectionPath+_intNudgeCount+".jpg"); を呼び出します。jpg がファイル拡張子の場合。

于 2013-04-20T20:13:49.177 に答える