1

画像をクリックしてボタンクリックイベントを開始したい。しかし、どのように?ButtonPlus は毎回 +1 を押すことで獲得し、5/10 に達すると... 別のイメージをアクティブにします。

プラスボタンを押して無駄な時間を増やすには、最初の画像をクリックして(値5を取得)、button_clickコードを実行します。

ButtonPlus の値を 4 に設定し、button_click イベントに転送して値を 5 にし、切り替えを行うことで考えました。

private void button1_Click(object sender, EventArgs e)
    {
        if (MaxPunkte > 0)
        {

            if (ButtonPlus1 < 30)
            {
                ButtonPlus1 += 1;
                MaxPunkte += -1;
                LabelAnzeige1 = ButtonPlus1;

                label1.Text = LabelAnzeige1.ToString();
                label5.Text = MaxPunkte.ToString();
                label7.Text = (LabelAnzeige1 * 10).ToString();
                label8.Text = label7.Text;
                #region Switch
                switch (ButtonPlus1)
                {
                    case 5:

                        pictureBox1.Image = TraitCalc.Resources.HexagonSmall_5_active;
                        break;

                    case 10:
                        pictureBox2.Image = TraitCalc.Resources.HexagonBig_10_active_empty;
                        break;

                    case 15:

                        pictureBox3.Image = TraitCalc.Resources.HexagonSmall_15_active;
                        break;

                    case 20:
                        pictureBox4.Image = TraitCalc.Resources.HexagonBig_20_active_empty;
                        break;

                    case 25:

                        pictureBox5.Image = TraitCalc.Resources.HexagonSmall_25_active;
                        break;

                    case 30:
                        pictureBox6.Image = TraitCalc.Resources.HexagonBig_30_active_empty;
                        break;


                }
                #endregion

            }
        }

    }

private void pictureBox1_Click(object sender, EventArgs e)
    {
        ButtonPlus1 = 4;
        //and start button click event (adds +1 = 5 -> go to switch case 1)


    }
4

2 に答える 2

2
  • ボタン クリック コードを別のメソッドに移動する
  • ボタンクリックイベントからこのメソッドを呼び出します
  • 画像クリックイベントからも呼び出す

button1_Click(または、他のメソッドと同じように文字通り呼び出すこともできます。)

于 2012-10-02T09:59:27.457 に答える
2

ボタンハンドラを直接呼び出さないのはなぜですか?

private void pictureBox1_Click(object sender, EventArgs e)
{
    ButtonPlus1 = 4;
    //and start button click event (adds +1 = 5 -> go to switch case 1)
    button1_Click(null, null); // or whatever arguments you need, 
                               // but you were not using them.
}
于 2012-10-02T10:00:02.387 に答える