C#实现窗体中数据的实时交互

这篇具有很好参考价值的文章主要介绍了C#实现窗体中数据的实时交互。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

在窗体应用中,经常会遇到两个窗口中数据的实时交互问题,而在C#中我们不能直接在一个窗体中更改其他窗体中控件的属性,所示难以直接实现两个窗体之间的实时交互。在这里提出一种利用委托实现两个窗体数据交互的方法。


1、新建两个windows窗体Form1和Form2

(1)Form1中添加一个按钮button1和一个文本框textBox2
(2)Form2中添加一个文本框textBox1

2、 利用委托实现Form1和Form2之间的数据交互
(1) 编辑按钮button1实现:点击按钮后弹出窗体Form2,如下所示:

private void button1_Click(object sender, EventArgs e)
{
    Form2 windows1 = new Form2(); //实例化窗体Form2
    windows1.Show();              //显示窗体2
}

(2) 创建方法实现:更改文本框textBox2的Text属性,如下所示:

public void Setlabel(string str) 
{
     textBox2.Text = str;      
}

(3) 创建静态窗体与窗体1相互关联

public static Form1 form1 = null; 
public Form1()
{
    form1 = this;
    InitializeComponent();  
}

(4) 在窗体2中利用委托引用窗体1的Setlabel方法

private void textBox1_TextChanged_1(object sender, EventArgs e)
{
    setlabel lbl = Form1.form1.Setlabel;
    lbl(textBox1.Text);
}

3、 完整代码
(1) 窗体1

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using static System.Net.Mime.MediaTypeNames;

namespace 委托应用_窗体数据的交互显示
{
    public partial class Form1 : Form
    {
        public static Form1 form1 = null;        
        public Form1()
        {
            form1 = this;
            InitializeComponent();  
        }
        public void Setlabel(string str) 
        {
            textBox2.Text = str;      
        }
        private void button1_Click(object sender, EventArgs e)
        {
            Form2 windows1 = new Form2();
            windows1.Show();
        }
    }
}

(2) 窗体2文章来源地址https://www.toymoban.com/news/detail-855250.html

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace 委托应用_窗体数据的交互显示
{
    public partial class Form2 : Form
    {
        public Form2()
        {
            InitializeComponent();
        }
        delegate void setlabel(string str);

        private void textBox1_TextChanged_1(object sender, EventArgs e)
        {
            setlabel lbl = Form1.form1.Setlabel;
            lbl(textBox1.Text);
        }
    }
}

到了这里,关于C#实现窗体中数据的实时交互的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • c#大地测量学各坐标系坐标转换(窗体应用程序)

    大地坐标系 空间直角坐标系 子午面直角坐标系

    2024年02月06日
    浏览(46)
  • C#窗体程序连接SQL Server数据库实现账号登录、账号注册、修改密码、账号注销和实名认证(不定时更新)

    这是本人用Visual Studio2019做的一个C#窗体登录程序,如标题所示,它包含了账号登录、注册账号、修改密码、注销账号和实名认证五个功能。对于有一定基础知识的小伙伴来说,应该不算太难,里面有注释说明,可能咋一看感觉代码运行的逻辑有点乱,不过没关系,相信对你会

    2024年02月02日
    浏览(74)
  • C#窗体怎样实现自适应大小(一)

    以前用串口助手时,没有发现什么不对劲的地方,但自己写的上位机控件,点击窗口最大化时,界面却没有按相应的比例放大,让人看得很不舒服,其实,知道窗口有自适应这一说法,可在C#里如何实现呢? 在C#编程里,使用布局控件实现窗体的自适应大小,相信很多朋友都

    2023年04月14日
    浏览(40)
  • C#实例:多功能Windows窗体应用程序Helloworld_WinForm

    有了创建一个Windows窗体应用程序的经验,就可以开始尝试运用更多的控件实现更多丰富的功能界面。以下分享我基于项目Helloworld_WinForm 使用常用C#Windows窗体控件 实现一些小功能。 每一节标题为所用到的控件,全文以实际制作过程为序编制。 1、创建窗体Form 项目创建时会默

    2024年02月04日
    浏览(58)
  • C# Winform无边框窗体实现界面拖动

    C# Winform无边框窗体实现界面拖动

    2024年02月07日
    浏览(47)
  • C#:如何用VS开启人生中第一个Windows窗体应用程序(Winform)?

    摘要:Windows窗体应用程序(Winform,下文以此指代)既能有效、直观地设计Windows窗体界面,又支持内部逻辑的编写。那么,对于C#初学者来说,如何开启第一个Winform程序呢?    编程语言:C# 编程环境:Visual Studio 2019 目录 步骤 每篇寄语         1、点击桌面Visual Studio 2019图

    2024年02月09日
    浏览(58)
  • Baumer工业相机堡盟工业相机如何使用BGAPISDK对两个万兆网相机进行触发同步(C#)

    Baumer工业相机堡盟相机是一种高性能、高质量的工业相机,可用于各种应用场景,如物体检测、计数和识别、运动分析和图像处理。 Baumer的万兆网相机拥有出色的图像处理性能,可以实时传输高分辨率图像。此外,该相机还具有快速数据传输、低功耗、易于集成以及高度可扩

    2024年02月09日
    浏览(49)
  • C# winform usercontrol控件跟随主窗体实现自动大小

    usercontrol控件跟随主窗体实现自动大小 今天是跟着哗哩哗哩大学学习C的第N天,但是是学习usercontrol的第一天。 第一天遇到的问题就是如何将usercontrol的大小跟随主窗体的一起变大变小。视频中教得很详细,首先是将usercontrol控件实例化,接着就是设置usercontrol的dock属性为fil

    2024年02月12日
    浏览(47)
  • [Unity] 实现ScriptableObject数据同步Excel表格(对话系统数据管理,C# ExcelNPOI)

            在制作游戏中需要管理各种各样的项目资源,其中游戏中的剧情文字也是一种需要管理的资源。自己刚开始接触游戏开发的时候,第一次看MStudio里面的对话系统教学,只讲了怎么写脚本同步UI的设置,并没有讲有什么方式去管理这些对话数据,视频里拿的是txt来演

    2024年02月10日
    浏览(58)
  • C# winform窗体UI美化后实现最大化、最小化、还原、关闭、窗体移动等等-2023/1/11

    在做winform窗体UI美化时,一般都需要将窗体的FormBorderStyle属性设为None,之后窗体就会没有最上面的标题栏,然后按照UI进行界面的设计。美化的代价就是窗体本来标题栏的相关操作,例如双击自动最大化,再次双击又恢复正常大小,以及上窗体关闭、最小化等功能就都需要自

    2024年02月08日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包