如何在c#中设置windows窗体以接受文本框和组合框中的空值

如何在c#中设置windows窗体以接受文本框和组合框中的空值,c#,C#,我的windows窗体c#中有六行,但有时我想隐藏几行,我知道如何将textBox或combox visibility设置为false,但当代码执行时,我在下面提到的其中一行上出现“输入字符串格式不正确”错误,如何将这些设置为接受空值?请帮帮我,我已经被困了好几天了 gpa.semester = comboBox1.SelectedItem.ToString(); gpa.subject = textBox1.Text; gpa.credithou

我的windows窗体c#中有六行,但有时我想隐藏几行,我知道如何将textBox或combox visibility设置为false,但当代码执行时,我在下面提到的其中一行上出现“输入字符串格式不正确”错误,如何将这些设置为接受空值?请帮帮我,我已经被困了好几天了

        gpa.semester = comboBox1.SelectedItem.ToString();
        gpa.subject = textBox1.Text;
        gpa.credithours = Convert.ToInt32(comboBox2.Text);
        gpa.marks = Convert.ToInt32(textBox2.Text);
私有无效按钮8_单击(对象发送者,事件参数e) { gpaform4 gpa=新的gpaform4()


在尝试使用该值之前,可以检查文本框值是否为null或空(String.IsNullOrEmpty),或者改用
Int32.TryParse


如果您选择使用
Convert.ToInt32
您应该使用异常处理(try catch)。

combox2.Text??string.Empty,如果(int.TryParse(textBox12.Text,out val)){}
在下面提到的一行上,
哪一行?您想要什么
Convert.ToInt32(combox2.Text);
当组合框为空/空时返回?我希望windows窗体中的textbox和combobox立即接受空值,当我执行代码并尝试输入它给我的数据时“输入字符串格式不正确”错误,因为文本框或组合框中没有值。请不要创建自己的网格控制方案,而是使用DataGridView。这是正确的“答案”,但它实际上更多的是注释而不是答案
        gpa.semester = comboBox1.SelectedItem.ToString();
        gpa.subject = textBox1.Text;
        gpa.credithours = Convert.ToInt32(comboBox2.Text);
        gpa.marks = Convert.ToInt32(textBox2.Text);





        //gpa.semester1 = comboBox1.SelectedItem.ToString();
        gpa.subject1 = textBox3.Text;
        gpa.credithours1 = Convert.ToInt32(comboBox3.Text);
        gpa.marks1 = Convert.ToInt32(textBox8.Text);


        //gpa.semester2 = comboBox1.SelectedItem.ToString();
        gpa.subject2 = textBox4.Text;
        gpa.credithours2 = Convert.ToInt32(comboBox4.Text);
        gpa.marks2 = Convert.ToInt32(textBox9.Text);

        //gpa.semester3 = comboBox1.SelectedItem.ToString();
        gpa.subject3 = textBox5.Text;
        gpa.credithours3 = Convert.ToInt32(comboBox5.Text);
        gpa.marks3 = Convert.ToInt32(textBox10.Text);

        //gpa.semester4 = comboBox1.SelectedItem.ToString();
        gpa.subject4 = textBox6.Text;
        gpa.credithours4 = Convert.ToInt32(comboBox6.Text);
        gpa.marks4 = Convert.ToInt32(textBox11.Text);

        //gpa.semester5 = comboBox1.SelectedItem.ToString();
        gpa.subject5 = textBox7.Text;
        gpa.credithours5 = Convert.ToInt32(comboBox7.Text);
        gpa.marks5 = Convert.ToInt32(textBox12.Text);

        BLL tbll = new BLL();
       

        bool b = tbll.Gpafrom4Bll(gpa);
        if (b)
        {
            MessageBox.Show("GPA Calculated");
        }
        else
        {
            MessageBox.Show("GPA not Calculated");
        }
        Row1();
        Row2();
        Row3();
        Row4();
        Row5();
        Row6();

        textBox13.Text = total_credithours.ToString();  
        textBox14.Text = totalgragepoints.ToString();  
        textBox15.Text = ((totalgragepoints / total_credithours).ToString());

        gpa sgpa = new gpa();
        sgpa.semester = comboBox1.Text;
        double testgpa = totalgragepoints / total_credithours;
        sgpa.semestergpa = testgpa.ToString();


        BLL tbll1 = new BLL();
        tbll1.SgpaBll(sgpa);

    }