zoukankan      html  css  js  c++  java
  • Winform数据即时更新 父窗体子窗体即时更新

    第一种方法:
    用委托,Form2和Form3是同一组
    Form2

    C#代码 
    1. using System; 
    2. using System.Collections.Generic; 
    3. using System.ComponentModel; 
    4. using System.Data; 
    5. using System.Drawing; 
    6. using System.Text; 
    7. using System.Windows.Forms; 
    8.  
    9. namespace TestMouseMove 
    10.     publicdelegatevoid SetVisiableHandler(); 
    11.  
    12.     public partial class Form2 : Form 
    13.     { 
    14.         public Form2() 
    15.         { 
    16.             InitializeComponent(); 
    17.         } 
    18.         privatevoid button1_Click(object sender, EventArgs e) 
    19.         { 
    20.             Form3 frm = new Form3(new SetVisiableHandler(SetVisiable)); 
    21.             frm.Show(); 
    22.         } 
    23.  
    24.         privatevoid SetVisiable() 
    25.         { 
    26.             SetVisiable(this.label1, !this.label1.Visible); 
    27.         } 
    28.  
    29.         privatevoid SetVisiable(Control control, bool visiable) 
    30.         { 
    31.             if (this.Controls.Contains(control)) 
    32.             { 
    33.                 control.Visible = visiable; 
    34.             } 
    35.         } 
    36.  
    37.     } 
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    
    namespace TestMouseMove
    {
        public delegate void SetVisiableHandler();
    
        public partial class Form2 : Form
        {
            public Form2()
            {
                InitializeComponent();
            }
            private void button1_Click(object sender, EventArgs e)
            {
                Form3 frm = new Form3(new SetVisiableHandler(SetVisiable));
                frm.Show();
            }
    
            private void SetVisiable()
            {
                SetVisiable(this.label1, !this.label1.Visible);
            }
    
            private void SetVisiable(Control control, bool visiable)
            {
                if (this.Controls.Contains(control))
                {
                    control.Visible = visiable;
                }
            }
    
        }
    }

    Form3

    C#代码 
    1. using System; 
    2. using System.Collections.Generic; 
    3. using System.ComponentModel; 
    4. using System.Data; 
    5. using System.Drawing; 
    6. using System.Text; 
    7. using System.Windows.Forms; 
    8.  
    9. namespace TestMouseMove 
    10.     public partial class Form3 : Form 
    11.     { 
    12.         private SetVisiableHandler m_setVisible; 
    13.  
    14.         public Form3(SetVisiableHandler setvisible) 
    15.         { 
    16.             InitializeComponent(); 
    17.             this.m_setVisible = setvisible; 
    18.         } 
    19.         privatevoid btnVisible_Click(object sender, EventArgs e) 
    20.         { 
    21.             if (this.m_setVisible != null
    22.             { 
    23.                 this.m_setVisible(); 
    24.             } 
    25.         } 
    26.  
    27.     } 
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    
    namespace TestMouseMove
    {
        public partial class Form3 : Form
        {
            private SetVisiableHandler m_setVisible;
    
            public Form3(SetVisiableHandler setvisible)
            {
                InitializeComponent();
                this.m_setVisible = setvisible;
            }
            private void btnVisible_Click(object sender, EventArgs e)
            {
                if (this.m_setVisible != null)
                {
                    this.m_setVisible();
                }
            }
    
        }
    }

    第二种方法:
    用变量,Form4和Form5是同一组
    Form4

    C#代码 
    1. using System; 
    2. using System.Collections.Generic; 
    3. using System.ComponentModel; 
    4. using System.Data; 
    5. using System.Drawing; 
    6. using System.Text; 
    7. using System.Windows.Forms; 
    8.  
    9. namespace TestMouseMove 
    10.     public partial class Form4 : Form 
    11.     { 
    12.         public Form4() 
    13.         { 
    14.             InitializeComponent(); 
    15.         } 
    16.         #region 子窗口刷新父窗口的值 
    17.  
    18.         privatestring strLabel1 = ""
    19.  
    20.         publicstring StrLabel1 
    21.         { 
    22.             get 
    23.             { 
    24.                 return strLabel1; 
    25.             } 
    26.             set 
    27.             { 
    28.                 strLabel1 = value; 
    29.                 this.label1.Text = strLabel1; 
    30.             } 
    31.         } 
    32.         #endregion 
    33.  
    34.         privatevoid button1_Click(object sender, EventArgs e) 
    35.         { 
    36.             Form5 form5 = new Form5(this);//这里注意传个this 
    37.             form5.Show(); 
    38.         } 
    39.     } 
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    
    namespace TestMouseMove
    {
        public partial class Form4 : Form
        {
            public Form4()
            {
                InitializeComponent();
            }
    
            #region 子窗口刷新父窗口的值
    
            private string strLabel1 = "";
    
            public string StrLabel1
            {
                get
                {
                    return strLabel1;
                }
                set
                {
                    strLabel1 = value;
                    this.label1.Text = strLabel1;
                }
            }
            #endregion
    
            private void button1_Click(object sender, EventArgs e)
            {
                Form5 form5 = new Form5(this);//这里注意传个this
                form5.Show();
            }
        }
    }

    Form5

    C#代码 
    1. using System; 
    2. using System.Collections.Generic; 
    3. using System.ComponentModel; 
    4. using System.Data; 
    5. using System.Drawing; 
    6. using System.Text; 
    7. using System.Windows.Forms; 
    8.  
    9. namespace TestMouseMove 
    10.     public partial class Form5 : Form 
    11.     { 
    12.         Form4 form4 = new Form4(); 
    13.  
    14.         public Form5(Form4 formFrm)//这个构造方法里有参数 
    15.         { 
    16.             form4 = formFrm; //这个必须要有 
    17.             InitializeComponent(); 
    18.         } 
    19.  
    20.         
    21.         privatevoid button1_Click(object sender, EventArgs e) 
    22.         { 
    23.             form4.StrLabel1 = this.textBox1.Text; 
    24.         } 
    25.     } 
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    
    namespace TestMouseMove
    {
        public partial class Form5 : Form
        {
            Form4 form4 = new Form4();
    
            public Form5(Form4 formFrm)//这个构造方法里有参数
            {
                form4 = formFrm; //这个必须要有
                InitializeComponent();
            }
    
           
            private void button1_Click(object sender, EventArgs e)
            {
                form4.StrLabel1 = this.textBox1.Text;
            }
        }
    }

    来自网络.....
  • 相关阅读:
    angularJS 修改操作select回显选中的数据
    zkteco iface702 中控考勤机java开发步骤二---获取考勤机 的考勤数据
    zkteco iface702 中控考勤机java开发步骤一---连接考勤机
    JQuery的分页插件pagination.js
    Ajax跨域后台处理
    发送邮箱工具类--阿里企业邮箱群发
    kindeditor-4.1.10 ---文件上传
    导出excel表格
    算法
    Arrays类——Arrays.asList()方法使用
  • 原文地址:https://www.cnblogs.com/huangxuening/p/2650818.html
Copyright © 2011-2022 走看看