C#基础:Winform桌面开发中窗体之间的数据传递

1.主窗体

cs 复制代码
using System;
using System.Windows.Forms;

public partial class MainForm : Form
{
    public MainForm()
    {
        InitializeComponent();
    }

    // 打开二级窗体
    private void btnOpenSecondaryForm_Click(object sender, EventArgs e)
    {
        // 创建二级窗体并订阅事件
        SecondaryForm form = new SecondaryForm();
        form.DataPassed += ReceiveData; // 左边这个事件需要在二级窗体定义,右边这个是主窗体方法
        form.ShowDialog();
    }

    // 处理从二级窗体传递过来的数据
    private void ReceiveData(object sender, string data)
    {
        // 显示数据
        MessageBox.Show("从二级窗体传回的数据: " + data);
    }
}

2.二级窗体

cs 复制代码
using System;
using System.Windows.Forms;

public partial class SecondaryForm : Form
{
    // 定义一个事件用于将数据传递给主窗体
    public event EventHandler<string> DataPassed;

    public SecondaryForm()
    {
        InitializeComponent();
    }

    // 当点击确定按钮时触发
    private void btnOk_Click(object sender, EventArgs e)
    {
        string inputData = txtInput.Text; // 获取用户输入
        DataPassed?.Invoke(this, inputData);// 触发事件
        this.Close(); // 关闭二级窗体
    }
}
相关推荐
小白学大数据11 分钟前
基于Python的抖音网页版视频点赞数增长趋势追踪系统设计与实现
开发语言·爬虫·python·搜索引擎·音视频
木由里予12 分钟前
TEE(Trusted Execution Environment)技术详解
java·linux·开发语言·网络·嵌入式硬件·android-studio
在世修行20 分钟前
从零打造 C# 工业视觉检测系统(五):相机连接、连续取流与双路实时预览
数码相机·c#·视觉检测
JckOLF04Z22 分钟前
C#客户端的异步操作
开发语言·c#
曹牧31 分钟前
C#:注释嵌套
开发语言·c#
中国搜索直付通35 分钟前
游戏车机端支付通道,会是下一个被低估的合规战场吗?
java·大数据·开发语言·人工智能·游戏
LccKyI40 分钟前
C# 零基础学习 Day01|基础概念梳理 + 思维导图总结
开发语言·笔记·学习·c#
AKA__Zas44 分钟前
芝士算法(位运算)
java·开发语言·算法·leetcode·学习方法
Livia要学习1 小时前
Python三种常见高阶函数--map、filter、sorted
开发语言·python
奇树谦1 小时前
ZeroMQ 详解:轻量级高性能消息通信框架及 C++ 使用示例
开发语言·c++