首页 > 解决方案 > 循环遍历 C# 文本框

问题描述

我试图让用户输入加倍到 4 个不同的文本框。然后,一旦用户单击计算按钮,将发生以下情况:

当我运行它时,没有发生错误,但结果没有显示在 texbox 中。为什么什么都没有显示?

private void CalculateButton_Click(object sender, EventArgs e)
        {
            double gpa = 0;
            List<double> grades = new List<double>();

            foreach(Control textBox in Controls)
            {
                if ((textBox.GetType().ToString() == "System.Windows.Form.Textbox") && (textBox.Name.Contains("gradeBox")))
                {
                    grades.Add(double.Parse(textBox.Text));
                }
            }

            for(int i =0; i<grades.Count; i++)
            {
                gpa += grades[i];
            }
            gpa /= grades.Count;

            gpaBox.Text = gpa.ToString();
        }

标签: c#

解决方案


看起来文本框的命名空间不太正确。它应该是 System.Windows.Form s .Text Box。注意“s”和大写“B”。以下是修正版。

private void CalculateButton_Click(object sender, EventArgs e)
        {
            double gpa = 0;
            List<double> grades = new List<double>();

            foreach (Control textBox in Controls)
            {
                if ((textBox.GetType().ToString() == "System.Windows.Forms.TextBox") && (textBox.Name.Contains("gradeBox")))
                {
                    grades.Add(double.Parse(textBox.Text));
                }
            }

            for (int i = 0; i < grades.Count; i++)
            {
                gpa += grades[i];
            }
            gpa /= grades.Count;

            gpaBox.Text = gpa.ToString();
        }

推荐阅读