在一个窗体中数据的改变,使调用它的窗体(父\兄),也跟随变动

formA中打开formB在formB(AddNew.cs)中改变了一些数据,希望在formA中能做相映的响应改变.
一开始采用的是:
1)在formA中
  AddNew addform=new AddNew(this.owner);
  addform.ShowDialog();

 2)在formB中声明formA变量,private Form_EditTitle form1=null;                //题库总窗体

然后在formB中调用 formA.Refurbish(rsort); 方法更新显示树图.

经朋友批评指正后,做了新的尝试.再此非常感谢我的这个好朋友.
现在采用了如下方法:
1)在formA中,调用formB时,
     AddNew addform=new AddNew(this.owner);
     ……
     DialogResult d = addform.ShowDialog();
     if (d == DialogResult.OK)
     {
      string  rsort=ChangeSortByTableName(addform.OwnerName);
      Refurbish(rsort);
     }
2)在formB中,

  private void AddNew_Closing(object sender, System.ComponentModel.CancelEventArgs e)
  {
   if( this.DialogResult != DialogResult.Cancel &&

    this.DialogResult != DialogResult.OK )

    e.Cancel = true;

  }

 private void btnCancle_Click(object sender, System.EventArgs e)
  {
   this.DialogResult = DialogResult.Cancel;
   txtName.Text="";
   //关闭窗体
   this.Close();
  }

private void btnSure_Click(object sender, System.EventArgs e)
{
   ……
   this.DialogResult = DialogResult.OK;
   ……
}

注意:this.DialogResult = DialogResult.OK; 可以含盖this.close(); 故仅this.DialogResult = DialogResult.OK;就可以起到关闭作用.

转载于:https://www.cnblogs.com/flashicp/archive/2007/03/19/680024.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值