【问题标题】:Addition for multiple textboxes dynamically when entering a value to a TextBox in C# .NET在 C# .NET 中向 TextBox 输入值时动态添加多个文本框
【发布时间】:2014-09-02 07:01:10
【问题描述】:

我正在使用 .NET 表单(在 Visual Studio 中)为 C# 中的薪金表设计一个表单。

向文本框输入各种值时,应显示最终文本框,并添加所有其他文本框。如果我从任何文本框中删除一个值,则应显示所有剩余文本框的结果。

代码

float grossalery;
float afterleaves;
float n1, n2, n3, n4, n5, n6, n7;private void txtCCA_TextChanged(object sender, EventArgs e)
{
    if (txtCCA.Text.Length != 0)
    {
        n1 = Convert.ToInt32(txtGTC.Text);
        n2 = Convert.ToInt32(txtPF.Text);
        n3 = Convert.ToInt32(txtbasicsalery.Text);
        n4 = Convert.ToInt32(txthoserent.Text);
        n5 = Convert.ToInt32(txtlicrent.Text);
        n6 = Convert.ToInt32(txtDA.Text);
        n7 = Convert.ToInt32(txtCCA.Text);
        grossalery = n1 + n2 + n3 + n4 + n5 + n6 + n7;
        txtgrosssalery.Text = Convert.ToString(grossalery);
    } else {
        txtCCA.Text = "";
    }
}

【问题讨论】:

  • 具体是这7个文本框还是表单上的所有文本框?您目前遇到的确切问题是什么?看起来您的错误处理需要与此事件共享的每个文本框进行
  • 我不想使用这个代码,它只是我的问题的替代解决方案,不,不是这 7 个文本框..
  • 将此代码写入函数并在所有文本框的文本更改事件中调用它

标签: c# forms textbox addition


【解决方案1】:

将所有文本框 TextChanged 事件设置为 txtCCA_TextChanged

private void txtCCA_TextChanged(object sender, EventArgs e)
{
    sumNumbers()
}
private void sumNumbers()
{
    float.TryParse(txtGTC.Text, out n1);
    float.TryParse(txtPF.Text, out n2);
    float.TryParse(txtbasicsalery.Text, out n3);
    float.TryParse(txthoserent.Text, out n4);
    float.TryParse(txtlicrent.Text, out n5);
    float.TryParse(txtDA.Text, out n6);
    float.TryParse(txtCCA.Text, out n7);
    grossalery = n1 + n2 + n3 + n4 + n5 + n6 + n7;
    txtgrosssalery.Text = Convert.ToString(grossalery);
}

【讨论】:

  • 在所有文本更改事件中调用它,如果您希望更改任何文本框值更改的值
  • 这就是我在txtCCA_TextChanged第一行所说的
  • 为什么,我在解析文本框值时遇到这个错误 'int.TryParse(string, out int)' 的最佳重载方法匹配有一些无效参数
  • 好的。我将int.tryParse 更改为float.TryParse。它现在应该可以工作了
  • 最后非常感谢@AlexJolig
【解决方案2】:
private void sumNumbers()
  {
      float.TryParse(txtGTC.Text, out n1);
      float.TryParse(txtPF.Text, out n2);
      float.TryParse(txtbasicsalery.Text, out n3);
      float.TryParse(txthoserent.Text, out n4);
      float.TryParse(txtlicrent.Text, out n5);
      float.TryParse(txtDA.Text, out n6);
      float.TryParse(txtCCA.Text, out n7);
      grossalery = n1 + n2 + n3 + n4 + n5 + n6 + n7;
      txtgrosssalery.Text = Convert.ToString(grossalery);
  }

private void txtGTC_TextChanged(object sender, EventArgs e) { sumNumbers(); }

  private void txtPF_TextChanged(object sender, EventArgs e)
  {
      sumNumbers();
  }

  private void txtbasicsalery_TextChanged(object sender, EventArgs e)
  {
      sumNumbers();
  }

  private void txthoserent_TextChanged(object sender, EventArgs e)
  {
      sumNumbers();
  }

  private void txtlicrent_TextChanged(object sender, EventArgs e)
  {
      sumNumbers();
  }

  private void txtDA_TextChanged(object sender, EventArgs e)
  {
      sumNumbers();
  }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-05-23
    • 1970-01-01
    • 2019-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多