-1

現在、ユーザーがクリックできる 10 個のボタン (1 ~ 10) を持つプログラムを作成しています。プログラムは、2 で割り切れるかどうかを通知します。

Windowsフォームでプログラミングを始めたばかりなので、これをどのように行う必要があるかについては完全にはわかりません。それはおそらく本当に簡単ですが、私はそれを理解することができません!

クリックされたボタンを読み取れるようにしたい...ループを通過させてから、クリックした数が2で割り切れるかどうかをユーザーに伝えます。

これを機能させるためのすべてのコードがありますが、ボタンがクリックされたときの部分に過ぎず、ループを通過してテストする番号を取得できません。各イベント フィールドの下のテスト用にすべてのコードをコピーできますが、一度だけコピーする必要があると言われました。それは、私のコードがより整然としたものになることを意味します。

4

3 に答える 3

3

どうですか:

//in the form constructor
button1.Click += new EventHandler(button_Click);
button2.Click += new EventHandler(button_Click);
button3.Click += new EventHandler(button_Click);
//and so on

次に、メソッドは次のようになります。

private void button_Click(object sender, EventArgs e){
   string n = ((Button)sender).Text;
   int number;
   if(int.TryParse(n, out number)){
      if(number % 2 == 0)
         MessageBox.Show(n + "  is divisible by 2");
      else 
         MessageBox.Show(n + "  isn't divisible by 2");
   }
}
于 2012-12-05T21:22:05.160 に答える
1

あなたは出来る:

        void button1_onClick(object sender, EventArgs e)
        {
            bool result = IsDivisibleByTwo(1);
        }

        void button2_onClick(object sender, EventArgs e)
        {
            bool result = IsDivisibleByTwo(2);
        }

        bool IsDivisibleByTwo(int x)
        {
            return (x % 2 == 0);
        }

または、各ボタンに値のタグを付け、イベント送信者から値を取得して IsDivisble メソッドに渡すこともできます。

于 2012-12-05T21:24:44.890 に答える
0

あなたのButton1_Clickイベントでは、あなたは数として引っ張るべきbutton1.Textです。intを介してに変換する必要がありますConvert.ToInt32(button1.Text)。そこから必要に応じて動作するはずです。

于 2012-12-05T21:26:02.717 に答える