zoukankan      html  css  js  c++  java
  • 在一个窗体中数据的改变,使调用它的窗体(父\兄),也跟随变动

    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;就可以起到关闭作用.

  • 相关阅读:
    运维自动化工具 Kickstart
    Ansible 运维自动化 ( 配置管理工具 )
    Redis 主从同步配置
    MONGO db INSTALLATION
    Innobackupex MySQL 全备、增备及恢复
    strace 使用
    LCD硬件原理
    多点触摸_电容屏驱动程序_实践_tiny4412
    单点触摸屏与多点触摸屏的异同
    多点触摸屏——电容屏驱动程序
  • 原文地址:https://www.cnblogs.com/flashicp/p/680024.html
Copyright © 2011-2022 走看看