WDNMde_ 2020-10-06 15:33 采纳率: 50%
浏览 248

C#关于如何将多个textbox里的数值转化成程序里的变量的问题

我想实现的是将textBox1的值赋给x[0],texBox2给x【1】,textbox3给x[2],textbox4给y[0],目前主要问题是类型转换这里报错“输入字符串的格式不正确”

private void button1_Click(object sender, EventArgs e)
        {
            double[] x = new double[3];
            double[] y = new double[3];
            double[] HA = new double[3];
            List<TextBox> tbList = new List<TextBox>();
            for(int i = 1;i<=9;i++)
            {
                TextBox tb = new TextBox();
                tbList.Add(tb);
            }
            for (int i = 1; i < 4; i++)
            {
                x[i] = double.Parse(tbList[i].Text);//**报错**
            }
            for (int i = 4; i < 7; i++)
            {
                y[i] = double.Parse(tbList[i].Text);
            }
            for (int i = 7; i < 9; i++)
            {
                HA[i] = double.Parse(tbList[i].Text);
            }

解决了,不再使用for循环往List<>里面添加value而是一个一个加就可以了。

  • 写回答

2条回答 默认 最新

  • threenewbee 2020-10-06 16:16
    关注

    tbList[i].Text
    这里你要确保每个文本框的内容,是有效的数字,不能为空。另外下标应该从0而不是1开始

            for(int i = 1;i<=9;i++)
            {
                TextBox tb = new TextBox();
                tbList.Add(tb);
            }
    

    这里的tb是刚创建的,Text属性为"",这是不能转换的。可以tbList.Add(tb);前面加上tb.Text = "0";

    评论

报告相同问题?