2016-08-09 35 views
2

我想从通过for循环生成的NumericUpDown的值将被迭代N次。然而,在我的代码中,我只能得到第一个NumericUpDown值,并通过点击按钮来触发它。如何获得在c#窗体中的所有动态numericupdown值形式

代码显示的NumericUpDown工具:

for (int i = 0; i < 6; i++) // should be i < n 
{ 
    NumericUpDown note = new NumericUpDown(); 
    note.Name = "Note" + i.ToString(); 
    note.Location = new System.Drawing.Point(20, 40 + (40 * i)); 
    note.Size = new System.Drawing.Size(40, 25); 
    note.Maximum = new decimal(new int[] { 10, 0, 0, 0 }); 
    this.Controls.Add(note); 
} 

代码获取值:

var numericUpDown = this.Controls["note0"] as NumericUpDown; 
var value = numericUpDown.Value; 
MessageBox.Show(value.ToString()); 

我怎样才能得到所有的值?非常感谢您的帮助。

+0

我已经添加下面的回答,请让我知道的是,帮助? –

回答

4

我希望您正在寻找这样的事情:

foreach (NumericUpDown ctlNumeric in this.Controls.OfType<NumericUpDown>()) 
{ 
    var value = ctlNumeric.Value; 
    MessageBox.Show(value.ToString()); 
} 
+0

哇!非常感谢你 - 就是我想要的方式!对不起,我花了这么长时间回复! –

+0

好吧,很高兴听到它的帮助。随时联系,如果你需要澄清,或者如果有疑问 –

+0

哇,这是很好的你。再次感谢你!! –

相关问题