2016-07-24 9 views
1

私はイベントを使って数値フィールドを追加する必要があります.50を超えると、それぞれにイベントを追加するのは難しいです。また、コンパイラによって再定義されたsumEarningsを得ることは誰にも示唆を与えてくれません。イベントを値に変更するにはどうすればいいですか

protected void Page_Load(object sender, EventArgs e) 
    { 


     wagesnET.ValueChanged += sumEarnings(); 
    } 


    protected void btnSave_Click(object sender, EventArgs e) 
    { 
     StringDictionary KeyValue = new StringDictionary(); 

     KeyValue.Add("", ""); 


     foreach (string key in Request.Form) 
     { 
      if (!key.StartsWith("checkbox")) continue; 


     } 


    } 

    private void sumEarnings(object sender, EventArgs e) 
    { 

     int total = Convert.ToInt16(wagesnET.Text) + Convert.ToInt16(partnerearningscic.Text); 
     return total; 
    } 

答えて

0

sumEarningsは、あなたが列挙子を使用することができ、コードから複数のコントロールにアタッチするには

private int sumEarnings() 
{ 
    return Convert.ToInt16(wagesnET.Text) + Convert.ToInt16(partnerearningscic.Text); 
} 

としてそれを変更し、戻り値の型のない方法です。あなたはUDPATE適切なコントロールを新しい合計値を計算した後

wagesnET.ValueChanged += sumEarnings; 

private void sumEarnings(object sender, EventArgs e) 
{ 
    int total = Convert.ToInt16(wagesnET.Text) + Convert.ToInt16(partnerearningscic.Text); 
    // todo: update the total value... 
} 

はそれがありませんたとえば:

foreach (Control c in this.Controls) 
{ 
    //if (c is TextBox) 
    c.ValueChanged += sumEarnings(); 
} 
+0

タグが付いているテーマで識別しても、すべてのコントールにアタッチすることができます。 – rogue39nin

+0

ありがとうございます。値が変更されたということは、int型から変更することはできません。 – rogue39nin

+0

イベントハンドラには、あなたはイベントに値を返すメソッドを割り当てますか? : - | – t3chb0t

0

あなたは、イベントハンドラの割り当てから()を削除する必要があります同時に値を返すイベントハンドラを持つことができます。

+0

aspxpineditのタイプをループする方法はありますか? – rogue39nin

+0

これを実行した後、オーバーロードはイベントに一致しませんか? – rogue39nin

+0

@rogueOneあなたはdevexpressのspineditを使用していますか? – t3chb0t

関連する問題