事件,如果是wpf的话,就用绑定加属性通知

解决方案 »

  1.   

    Form1代码        public delegate void CheckEvent(bool isCheck);
            public event CheckEvent Check1;        private void button1_Click(object sender, EventArgs e)
            {
                Form2 f2 = new Form2(this);
                f2.Check += Check;
                f2.Show();
            }        private void Check(bool isCheck)
            {
                this.checkBox1.Checked = isCheck;
            }        private void checkBox1_CheckedChanged(object sender, EventArgs e)
            {
                if (this.Check1 != null)
                {
                    this.Check1((sender as CheckBox).Checked);
                }
            }
    Form2代码        public delegate void CheckEvent(bool isCheck);
            public event CheckEvent Check;        public Form2(Form1 form1)
            {
                InitializeComponent();
                form1.Check1 += Check1;
            }        private void checkBox1_CheckedChanged(object sender, EventArgs e)
            {
                if (this.Check != null)
                {
                    this.Check((sender as CheckBox).Checked);
                }
            }        private void Check1(bool isCheck)
            {
                this.checkBox1.Checked = isCheck;
            }
      

  2.   

    改变事件做成public 操作的时候,同时操作两个界面的方法。试试
      

  3.   

    通过子窗体刷新父窗体
      void BabyWindow_UpdateDataGridView(object sender,EventArgs e)
            {
                if(Frm_Child.GlobalFlag == false)    //当单击删除按钮时
                {
                    if(ConnPubs.State == ConnectionState.Closed) //当数据库处于断开状态时
                    {
                        ConnPubs.Open();                //打开数据库的连接
                    }
                    string AfreshString = "delete tb_User where userID=" + Frm_Child.DeleteID.Trim();//定义一个删除数据的字符串
                    PersonalInformation = new SqlCommand(AfreshString,ConnPubs); //执行删除数据库字段
                    PersonalInformation.ExecuteNonQuery(); //执行SQL语句并返回受影响的行数
                    ConnPubs.Close();                     //关闭数据库
                    DisplayData();                          //显示数据库更新后的内容
                    MessageBox.Show("数据删除成功!","提示信息",MessageBoxButtons.OK,MessageBoxIcon.Asterisk);//弹出删除数据成功的提示
                }
                else
                {
                    if(ConnPubs.State == ConnectionState.Closed) //当数据库处于关闭状态时
                    {
                        ConnPubs.Open();                        //打开数据库
                    }
                    string InsertString = "insert into tb_User values('" + Frm_Child.idContent + "','" + Frm_Child.nameContent + "','" + Frm_Child.phoneContent + "','" + Frm_Child.addressContent + "')";//定义一个插入数据的字符串变量
                    PersonalInformation = new SqlCommand(InsertString,ConnPubs);//执行插入数据库字段
                    PersonalInformation.ExecuteNonQuery();//执行SQL语句并返回受影响的行数
                    ConnPubs.Close();             //关闭数据库
                    DisplayData();                         //显示更新后的数据
                    MessageBox.Show("数据添加成功!","提示信息",MessageBoxButtons.OK,MessageBoxIcon.Asterisk);//弹出添加成功的提示信息
                }
            }