public partial class Form1 : Form
    {
        Class1 class1 = new Class1();
        int count;
        double tt = 0.0;
        double ave = 0.0;
        double high;
        double low;
        public Form1()
        {
            InitializeComponent();
        }
        
        private void btn1_Click(object sender, EventArgs e)
        {  
                class1.array[count] = Convert.ToDouble(txt1.Text);
                count++;
                txt1.Select();
                txt1.Text = "";
        }
        private void btn2_Click(object sender, EventArgs e)
        {            for (int i = 0; i < count; i++)
                if (count != 0)
                {
                    tt += class1.array[i];
                    ave = tt / count;
                }
                else
                {
                    ave = 0;
                }
            double high = class1.array[0];
            for (int i = 0; i < count; i++)
            {
                if (high < class1.array[i])
                {
                    high = class1.array[i];
                }
            }
            double low = class1.array[0];
            for (int i = 0; i < count; i++)
            {
                if (low > class1.array[i])
                {
                    low = class1.array[i];
                }
            }
            string number = count.ToString();
            string total = tt.ToString();
            string average = ave.ToString();
            string highest = high.ToString();
            string lowest = low.ToString();
            Form2 frm2 = new Form2 (number,total,average,highest,lowest);
            frm2.Owner = this;
            this.Hide();
            frm2.ShowDialog(this);
        }        private void Form1_Load(object sender, EventArgs e)
        {
            lbl4.Text = "";
            lbl4.Text = DateTime.Now.ToString();
        }        private void btn3_Click(object sender, EventArgs e)
        {
            txt1.Text = "";
            for (int i = 0; i < count; i++)
            {
                class1.array[i] = 0;
            }
            count = 0;
        }        private void txt1_TextChanged(object sender, EventArgs e)
        {
            Judge();
        }
        private void Judge()
        {
            double i = Convert.ToDouble(txt1.Text);
            if (i >= 0 && i <= 100)
                {
                    lbl5.Text = "√";
                    this.lbl5.ForeColor = System.Drawing.Color.Green;
                }
            else
                {
                    lbl5.Text = "Grade is wrong!";
                    this.lbl5.ForeColor = System.Drawing.Color.Red;
                    txt1.Select();
                }
        }

解决方案 »

  1.   

    这是我form1里的代码 我是想通过参数传递把算的数传给form2 但是调试的时候form2什么结果都没有
      

  2.   

    这是我form1里的代码 我是想通过参数传递把算的数传给form2 但是调试的时候form2什么结果都没有
      

  3.   

    Form2 怎么定义的?
      

  4.   

         string number1,total1,average1,highest1,lowest1;
            public Form2(string number,string total,string average,string highest,string lowest)
            {
                InitializeComponent();
                number1 = number;
                total1 = total;
                average1 = average;
                highest1 = highest;
                lowest1 = lowest;        }
            private void btn1_Click(object sender, EventArgs e)
            {
                this.Owner.Show();
                this.Dispose();
            }
            private void Form2_Load(object sender, EventArgs e)
            {
                Form1 frm = (Form1)this.Owner;
                lbl8.Text = "";
                lbl8.Text = DateTime.Now.ToString();
                lbl9.Text = number1;
                lbl10.Text = total1;
                lbl11.Text = average1;
                lbl12.Text = highest1;
                lbl13.Text = lowest1;
            }
    form2 我是这样写的 我刚学 还不太懂。。
      

  5.   

    如果是new form2("参数")检查你的参数是不是空的
      

  6.   

    lbl8.Text = "";
                lbl8.Text = DateTime.Now.ToString();
                lbl9.Text = number1;
                lbl10.Text = total1;
                lbl11.Text = average1;
                lbl12.Text = highest1;
                lbl13.Text = lowest1;
    放在Form2的构造函数里面,new form2会先加载Load事件,所以你穿的参数还没到Form2就已经给textbox赋值了
      

  7.   

    答案对的说法反了,构造函数先执行之后又执行了load事件,因此你不能在load一味的清空,你需要做的是在load事件中根据构造函数确认如何初始化。
      

  8.   

    答案对的说法反了,构造函数先执行之后又执行了load事件,因此你不能在load一味的清空,你需要做的是在load事件中根据构造函数确认如何初始化。我说错了。。答案也错了
      

  9.   

    为什么不看看我的博客呢
    父窗体给子窗体传值
     //父窗体  
     private void pictureBox_Add_position_Click(object sender, EventArgs e)  
            {  
                //职务  
                PositionManage m_positionManage = new PositionManage();  
                m_positionManage.Str_EmplyeeName = tb_emplyeeName.Text.ToString();  
                m_positionManage.ShowDialog();  
                          
                if (Convert.ToBoolean(m_positionManage.DialogResult))  
                {  
                    this.tb_position.Text = m_positionManage.Str_position;  
                }  
            }  
    //子窗体  
     public String Str_position;  
     ......  
       private void SaveAddF6_Click(object sender, EventArgs e)  
            {  
                if (tb_PositionName.TextLength > 0)  
                {  
                    Str_position = tb_PositionName.Text;  
                    this.Close();  
                }  
                else  
                {  
                    MessageBox.Show(Properties.Resources.String_PleaseEnterPositionName);  
                }  
            }