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(); // 关闭二级窗体
    }
}
相关推荐
青岑CTF3 小时前
攻防世界-Php_rce-胎教版wp
开发语言·安全·web安全·网络安全·php
初次见面我叫泰隆4 小时前
Qt——4、Qt窗口
开发语言·qt·客户端开发
瑞雪兆丰年兮4 小时前
[从0开始学Java|第十一天]学生管理系统
java·开发语言
Crazy Struggle4 小时前
.NET 中如何快速实现 List 集合去重?
c#·.net
代码AI弗森4 小时前
Git Bash 与 PowerShell:定位差异、使用场景与选择建议
开发语言·git·bash
代码游侠4 小时前
C语言核心概念复习(一)
c语言·开发语言·c++·笔记·学习
蜕变的土豆4 小时前
grpc-通关速成
开发语言·c++
-To be number.wan4 小时前
Python数据分析:英国电商销售数据实战
开发语言·python·数据分析
xb11324 小时前
C#生产者-消费者模式
开发语言·c#
电商API&Tina5 小时前
乐天平台 (Rakuten) 数据采集指南
大数据·开发语言·数据库·oracle·json