2016-11-22 58 views
0

在我的主窗體中,我有一個文本框即textBoxTotalTotal,我希望所有動態添加的文本框都是我的textBoxTotalTotal中的添加/總和我該怎麼做到這一點?
在我的主要形式,我有這樣的: textBoxTotalTotal
然後在我的用戶控件我有這個從用戶控件動態添加文本框的值添加到主窗體

public void textBoxTranspo_TextChanged(object sender, EventArgs e) 
    { 
    int intTranspo = 0, intBoxDaily = 0; 
    if (int.TryParse(textBoxTranspo.Text, out intTranspo) && int.TryParse(textBoxDaily.Text, out intBoxDaily)) 
    textBoxTotalAmount.Text = (intTranspo + intBoxDaily).ToString(); 
    } 

public void textBoxDaily_TextChanged(object sender, EventArgs e) 
     { 
     int intTranspo = 0, intBoxDaily = 0; 
     if (int.TryParse(textBoxTranspo.Text, out intTranspo) && int.TryParse(textBoxDaily.Text, out intBoxDaily)) 
     textBoxTotalAmount.Text = (intTranspo + intBoxDaily).ToString(); 
     } 

請注意,我通過動態按鈕添加該用戶控制在我喜歡多次的主要形式。所以textBoxTotalTotal應該剛剛添加它們,當一個新的2文本框出現。

回答

0

假設用戶控件的母公司是Form1中和用戶控制類型的MyUserControl: (你應該設置正確的父,和用戶控制型)

MyUserControl[] controls = Form1.Controls.OfType<MyUserControl>().ToArray(); 
int Total = 0; 
for(int i=0;i<controls.Length;i++){ 
    controls[i].Controls.OfType<TextBox>().ToList() 
    .ForEach(txt => Total += int.Parse(txt.Text)); 
} 

如果從用戶控件本身做那麼:

MyUserControl[] controls = Parent.Controls.OfType<MyUserControl>().ToArray(); 
int Total = 0; 
for(int i=0;i<controls.Length;i++){ 
    controls[i].Controls.OfType<TextBox>().ToList() 
    .ForEach(txt => Total += int.Parse(txt.Text)); 
} 
+0

你好,我如何確定哪一個是UserControl的父級? – Noobster

+0

usercontrol.Parent? – TaW