zoukankan      html  css  js  c++  java
  • WinForm 中两个窗口之间传递数据

    方法有很多种,这里介绍项目中使用的两种

    一、通过委托+事件的方法进行传值 (点击Form2中的button1按钮,将会把Form2中的textbox.text 传给Form1中的 lable.text)

    先上效果图

    image

    以下是代码

    public partial class Form2 : Form
        {
            public Form2()
            {
                InitializeComponent();
            }
            public delegate void SendDataInvoke(string value);
            public event SendDataInvoke SendData;
    
    
            private void button1_Click(object sender, EventArgs e)
            {
                SendData(textBox1.Text);   
            }
        }
    public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
    
            public delegate void MyInvoke();
    
            private void button1_Click(object sender, EventArgs e)
            {
                Form2 frm = new Form2();
                frm.SendData += new Form2.SendDataInvoke(frm_SendData);
                frm.Show();
            }
    
            private void frm_SendData(string value)
            {
                label1.Text = value;
            }
        }

    二、项目上前任开发所写的方法,通过在Form1定义一个方法,在FORM2里直接调用

    效果一样

    image

    代码

    public partial class Form2 : Form
        {
            public Form2()
            {
                InitializeComponent();
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                Form1 frm = (Form1)this.Owner;
                    
                frm.ShowData(textBox1.Text);
    
            }
    }
    
    
    
     public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
          public void ShowData(string value)
            {
                label1.Text = value;
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                Form2 frm = new Form2();
                this.AddOwnedForm(frm);
                frm.Show();
            }
           
    }
  • 相关阅读:
    安卓长按应用图标弹出快捷方式(shortcut)
    网站主题变暗黑,快速解决
    android 11适配的其他注意点
    vue cli3.0构建多页面应用
    Alibaba Canal config 漏洞验证
    检测magiskhide
    Flutter垃圾回收器
    UIbutton 在动画过程中也能响应事件,主要利用layer的hitTest方法
    CocoaPods 私有化
    Android WorkManager使用入门
  • 原文地址:https://www.cnblogs.com/LiuLaoCai/p/3426591.html
Copyright © 2011-2022 走看看