C# 从在许多动态生成的用户控件中定义的文本框中获取值
我正在用c#开发一个medical store应用程序。在账单生成过程中,将打开以下窗口,该窗口使用动态生成的名为MediRow的用户控件添加项目。 MediRow包含一个数量文本框。当文本框的值更改时,主窗口上的“总量”标签应将所有生成的MediRow控件的文本框中输入的数量相加。我在后台工作程序中添加了以下代码,用于检查所有文本框值并将其相加,但它不起作用C# 从在许多动态生成的用户控件中定义的文本框中获取值,c#,user-controls,textbox,dynamically-generated,C#,User Controls,Textbox,Dynamically Generated,我正在用c#开发一个medical store应用程序。在账单生成过程中,将打开以下窗口,该窗口使用动态生成的名为MediRow的用户控件添加项目。 MediRow包含一个数量文本框。当文本框的值更改时,主窗口上的“总量”标签应将所有生成的MediRow控件的文本框中输入的数量相加。我在后台工作程序中添加了以下代码,用于检查所有文本框值并将其相加,但它不起作用 double amt = 0; foreach (Control c in panel1.Controls)
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();
请告诉我如何在运行时动态获取这些文本框值。我认为您需要通过公共属性公开文本框值 编辑:
class MyCustomItem
{
public string ItemName
{
get { return TxtName.Text; }
}
public string ItemQuantity
{
get { return TxtQuantity.Text; }
}
// other logic here
}
这是WinForms还是WPF?我认为轮询行不是个好主意。您应该订阅TextBox TextChanged事件。顺便说一下,您可能希望使用NumericUpDown而不是文本框…但是如果是NumericUpDown,如何在添加时获得动态生成的所有NumericUpDowns的值,在你的代码中可以吗?可以,但问题是文本框中的值不是在运行时提取的。你能给我举个例子吗