【发布时间】:2012-09-29 19:47:46
【问题描述】:
我正在用 c# 开发一个医疗商店应用程序。在其帐单生成期间,将打开以下窗口,该窗口使用名为 MediRow 的动态生成的用户控件添加项目。 MediRow 包含一个数量的文本框。当文本框的值更改时,主窗口上的总金额标签应将所有生成的 MediRow 控件的文本框中输入的数量相加。我将以下代码添加到后台工作人员中,该工作人员检查所有文本框值并将它们相加,但它不起作用。
double amt = 0;
foreach (Control c in panel1.Controls)
{
amt = amt + long.Parse(((MediRow)c).Controls.Find("textBox1",true)[0].Text);
}
lblAmt.Text = amt.ToString();
请告诉我如何在运行时动态获取这些文本框值。
【问题讨论】:
-
这是 WinForms 还是 WPF?
-
我不认为轮询行是个好主意。您应该订阅文本框 TextChanged 事件。顺便说一句,您可能想使用 NumericUpDown 而不是文本框...
-
但是在 NumericUpDown 的情况下,我怎样才能获得动态生成的所有 NumericUpDowns 的值
-
你在添加时混合加倍和长,在你的代码中可以吗
-
是的,没关系,但问题是在运行时没有从文本框中获取值。
标签: c# user-controls textbox dynamically-generated