【问题标题】:Getting values from a text box which is defined in many dynamically generated user controls从许多动态生成的用户控件中定义的文本框中获取值
【发布时间】: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


【解决方案1】:

我认为您需要通过 公共属性

公开 TextBox 值

编辑:

class MyCustomItem 
{ 

  public string ItemName 
  { 
    get { return TxtName.Text; } 
  } 

  public string ItemQuantity 
  { 
    get { return TxtQuantity.Text; } 
  }


  // other logic here
}

【讨论】:

  • 你能给我举个例子吗
猜你喜欢
  • 1970-01-01
  • 2014-06-01
  • 2012-12-19
  • 1970-01-01
  • 2016-10-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-19
相关资源
最近更新 更多