首页 > 解决方案 > 如何在 c# 中设置 windows 窗体以接受文本框和组合框中的空值

问题描述

我的 windows 窗体 c# 中有六行但有时我想隐藏几行,我知道如何将文本框或组合框的可见性设置为 false,但是当代码执行时,我得到“”输入字符串格式不正确""在下面提到的一行中出现错误,我如何将它们设置为接受空值?请帮助我已经被困了好几天了。

        gpa.semester = comboBox1.SelectedItem.ToString();
        gpa.subject = textBox1.Text;
        gpa.credithours = Convert.ToInt32(comboBox2.Text);
        gpa.marks = Convert.ToInt32(textBox2.Text);

private void button8_Click(object sender, EventArgs e) { gpaform4 gpa = new gpaform4();

        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);

    }

标签: c#

解决方案


您可以在尝试使用该值之前检查 TextBox 值是 null 还是空 (String.IsNullOrEmpty),或者Int32.TryParse改为使用该值。

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


推荐阅读