WPF 委托事件

C# 委托(Delegate)和事件(Event)总结 从字面意思上说,“委托”就是一件事,我们不亲自去做,而是把这件事交给其他人帮忙做;但从编程语言的角度来说,编程语法机制也是一种C#语言对现实世界逻辑的抽象。 阅读详情

新建委托类:

   public class DataChangeEventArgs : EventArgs
    {
        // 定义委托
        public delegate void DataChangeHandler(object sender, DataChangeEventArgs args);
        public string devA { get; set; }

        public string devB { get; set; }

        public DataChangeEventArgs(string s1, string s2)
        {
            devA = s1;
            devB = s2;
        }
    }

主窗口中定义

 public void DataChangeDev(object sender, DataChangeEventArgs args) { 
            try
            {
                // 更新窗体控件
                int a, b;
                a = Convert.ToInt32(args.devA);
                b = Convert.ToInt32(args.devB);
            }
            catch {
            }
        }
private void DevClick(object sender, RoutedEventArgs e)
        {
             DevSet devset = new DevSet();
            devset.DataChange += new DataChangeHandler(DataChangeDev);
            devset.textBox_Adevnum.Text = "0";
            devset.textBox_Bdevnum.Text = "0";
            devset.Top = this.Height / 3;
            devset.Left =  this.Height / 2;
            devset.ShowDialog();
        }

子窗口中

public partial class DevSet : Window
    {

        public event DataChangeHandler DataChange;// 声明事件

        // 调用事件函数

        public void OnDataChange(object sender, DataChangeEventArgs args)

        {
            if(DataChange != null)
            {
                DataChange(this, args);
            }
        }


        public DevSet()
        {
            InitializeComponent();
          
        }

    private void button_set_Click(object sender, RoutedEventArgs e)
        {
            try
            {
            
                // this.Owner.
                // 触发事件, 传递自定义参数

                OnDataChange(this, new DataChangeEventArgs(textBox_Adevnum.Text, textBox_Bdevnum.Text));
                this.Close();
            }
            catch {

            }
            

        }
    }
通过一个WPF实例进一步理解委托和事件 在前写过“浅谈C#中的委托”和“浅谈C#中的事件”两篇博客,内容有些抽象,似乎难以说明委托和事件的关系。 今天通过一个小程序来进一步说明二者的使用及联系。 首先新建一个WPF应用程序,取名TestDelegateAndEvent。 在.xmal中加入四个按钮,并添加Window_Loaded事件。 代码如下:<Window x:Class="TestDelegateAndEvent.Main 阅读详情

相关推荐

Wpf页面间传值

接触WPF有半年之多,对总体的技术也了解了一些,今天就做一小结,说说页间的传值方法。当然这些方法不仅仅只在WPF中有效,或者“WPF”只是个虚头,但这些传值方式都是我在WPF中用到的。    今天要说的方法有三种,但着重要说的是第三种,前两种可几句带过。好,废话不多说,走着......        A页面中有所有学生列表,当需要新增学生时,会弹出来新增学生页面B,当B页面的信息确定之后,怎样

zhanglikeno1的专栏 5003

【C#进阶】WPF事件模型实战:从基础委托到路由事件的深度解析

本文深入解析WPF事件模型,从基础委托到路由事件的实战应用。通过冒泡、隧道等路由策略,实现高效事件处理,减少代码冗余。结合电商列表、智能家居等案例,展示自定义路由事件的开发流程与高级应用技巧,提升WPF开发效率。

weixin_29201313的博客 448

本篇将聚焦于 C# 高级编程 相关内容,结合半导体可靠性测试机的上位机系统框架,深入讲解反射、接口、抽象类、泛型、设计模式(工厂、策略、观察者等)、多线程、委托事件、集合使用、特性、索引器等高级特性,

6. 总结本篇深入讲解了 C# 高级编程技术在半导体老化测试上位机中的应用,包括反射(动态加载驱动)、接口/抽象类(硬件和测试抽象)、泛型(事件处理)、设计模式(工厂、策略、观察者)、多线程(高频数据采集)、委托事件(状态通知)、集合优化(并发处理)和特性(元数据管理)。本篇将聚焦于 C# 高级编程 相关内容,结合半导体可靠性测试机的上位机系统框架,深入讲解反射、接口、抽象类、泛型、设计模式(工厂、策略、观察者等)、多线程、委托事件、集合使用、特性、索引器等高级特性,并提供具体代码示例和测试用例。

专注于前沿技术的探索与实践,热衷于从代码逻辑、架构设计到行业应用等多维度深挖技术本质。期待在技术之路上与你共同成长~ 696

WPF 委托事件写法

为了代码不看的那么乱,把功能差不多都写到一个方法里,里面用页面分割 首先创建实体类 public class Studens//数据实体类 { public int id { get; set; } public string name { get; set; } } public delegate void StudensDelegateHandle(Studens studens); public

qq_43393792的博客 1094

【游戏开发】初识寻路&navmesh,探索RecastDemo

在手游时代,尤其对于大世界游戏而言,寻路的实现基本在专门的寻路服务器上进行。在众多寻路的解决方案中,recastnavigation是最为经典实用的一个,很多游戏甚至游戏引擎都采用类似的实现。recastnavigation项目自带了RecastDemo,用图形化的界面帮助用户认识寻路网格(navmesh)的生成以及寻路的过程。因此,作为初学者的笔者,也决定通过RecastDemo去初步认识寻路的机理奥秘。 构建RecastDemo 首先克隆recastnavigation项目,从文档中可以看到Recast

HiKariのTechLab 3052

Tesseract-Ocr踩坑下载以及进行检验

1 OCR,即Optical Character Recognition:光学字符识别,是指通过扫描字符,然后通过其形状将其翻译成电子文本的过程。下载完成后进行解压找到这两个,然后复制到之前下载Tesseract-Ocr的tessdata文件下。可能会出现报错说chi下载的问题咱们不用管继续ok让它先下载完毕,后续会有下载chi的步骤。四、检验tesseract使用(将以下图片进行下载我这里将以下图片命名为3.png)我这里选的是2024年的版本如果下载不了;4 在安装的时候(找到下载的exe文件,双击)

m0_51428325的博客 1915

第五章:WPF中的事件与命令

WPF中的事件与命令

鲤籽鲲的博客 7241

AutoGenTestCase - AI大模型生成测试用例

AI技术助力高效软件测试:AutoGenTestCase工具介绍 传统手工测试存在效率低、覆盖不全等痛点。AutoGenTestCase工具集成DeepSeek、通义千问等AI大模型,能快速解析需求并自动生成标准化测试用例,将数小时工作缩短至分钟级。该工具部署简单,仅需配置APIKey即可运行,支持多种测试用例类型比例设置,并输出Markdown和Excel格式的测试用例。通过GitHub或网盘下载后,用户可按照教程完成APIKey配置、需求文档上传和用例生成等操作,显著提升测试效率与覆盖完整性。

YIqifeibaQI的博客 347

WPF六(DataGrid的ItemsSource对象中添加委托事件)

WPF DataGrid的ItemsSource对象中添加委托事件

PassionLong的博客 937

n8n实战:动态报表生成与企业微信自动化推送

本文详细介绍了如何利用n8n实现动态报表生成与企业微信自动化推送的全流程。通过配置n8n Form触发器、智能报表生成核心逻辑以及企业微信Webhook推送,帮助企业大幅提升数据收集与报表推送效率,实现从数据录入到报表推送的全自动化处理。

weixin_29267307的博客 304

驻极体咪头信号采集避坑指南:如何用5V单电源搞定0.1mV~1V的音频放大?

本文针对驻极体咪头(ECM)在5V单电源系统中信号采集的常见难题,提供了详细的电路设计指南。文章深入分析了咪头的高输出阻抗与微弱信号特性,重点阐述了采用两级运放(如AD8542)实现低噪声放大、直流偏置叠加以及抗混叠滤波的完整方案,并分享了PCB布局、电源去耦等关键调试技巧,帮助工程师稳定采集0.1mV至1V的音频信号。

weixin_29291069的博客 436

WPF线程模型及委托事件应用

参考:http://www.cnblogs.com/zhouyinhui/archive/2008/01/27/1055261.html 第一次做WPF项目,要用到多线程,委托,自定义事件等技术。看了几篇网友技术文章觉得不错,做下笔记。 在多线程编程中,我们经常会需要在子线程中访问主线程的内容,特别是更改主窗体的UI界面内容,如果直接访问跨线程资源,系统就会报线程访问错误.查了MSDN发现...

weixin_30294295的博客 132

工业相机TEC散热技术:从原理到高精度成像的实战解析

本文深入解析了工业相机TEC散热技术的核心原理与实战应用。通过阐述热电制冷器如何利用帕尔帖效应实现精准温控,有效抑制图像传感器暗电流噪声,从而保障高精度成像的稳定性。文章结合工业场景痛点,提供了从TEC选型、系统集成到控制逻辑的完整设计指南,并分享了不同应用场景下的实战案例,是提升工业视觉系统成像质量的关键技术解析。

weixin_29269441的博客 412

【WPF专题 】如何自定义控件

WPF由浅入深系列,教会你如何自定控件

weixin_42973100的博客 2974

matlab相机标定_实战 | 相机标定

点击“计算机视觉life”关注,置顶更快接收消息!本文阅读时间约5分钟什么是相机标定?我们为什么需要相机标定?相机标定就是确定相机内参和外参的过程,其结果精度会直接影响视觉系统后续工作的准确性。坐标系相机标定涉及到了四大坐标系,分别为:像素坐标系图像物理坐标系相机坐标系世界坐标系为了进行相机标定,必须已知世界坐标系中足够多的三维空间点坐标,找到这些空间点在图像中投影点的二维图像坐标,并建...

weixin_39747334的博客 763

NSGA-Ⅱ算法:从原理到实战,解锁多目标优化难题

本文深入解析NSGA-Ⅱ算法在多目标优化中的应用,从原理到实战全面覆盖。通过快速非支配排序、精英策略和拥挤度比较三大创新,NSGA-Ⅱ有效解决了传统算法的效率与多样性问题。结合工业案例展示其在注塑工艺优化中的显著效果,为工程师提供实用解决方案。

weixin_29207149的博客 366

C#其他类中控制主窗口的show和hide(基于WPF)

(初学WPF,对遇到的问题请求大佬解决后进行整理,理解上可能还是有些偏差,请各位批评指正) WPF中显示和隐藏一个窗口,可以在自己的.xmal.cs中进行this.show()和this.hide()的调用, 但是在一个无关类中想要显示和隐藏(通过子线程去控制主线程),往往编译能过但是不能达到预期的效果 解决办法是使用委托事件和Invoke函数: 比如我在Impl.cs类中想要调用窗口的开...

qq_36282233的博客 3741

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

一、委托

WPF 子窗口对父窗口进行操作 这个需要借助委托事件来完成 首先需要在子窗口添加一个委托事件,在父窗体的按钮事件中注册此委托事件,然后处理即可. 子窗体: public delegate void AddButtonDelegate(); public event AddButtonDelegate addButtonEvent; private void button1_Click(object...

博客园: https://www.cnblogs.com/fger/ 276

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

WPF子窗口控制父窗口的问题

WPF中通过子窗口来控制父窗口一些动作

yangyang_098的博客 1219

C# winform 控件DataBindings 更新数据 笔记

最近在写winform 的项目,需要对datagridview 进行动态更新数据。以前的做法是循环每一行,找到对应的那一行,然后循环每一列,更新数值,重绘gui。效率很低,而且占用资源高。 后来接触了WPF之后,发现是可以通过DataBindings 绑定对象来更新显示,只要修改对象属性值,界面也会跟着更新显示。 BindingList<DevDataShowView> showViewsLs = new BindingList<DevDataShowView>(); d..

caikeyter 4734

C#/.NET/.NET Core技术前沿周刊 | 第 42 期(2025年6.9-6.15)

在 EF 6 及其之前的版本数据库优先模式(Database First)是可以在 Visual Studio 中通过可视化界面来操作完成的,但是到了 EF Core 之后就不再支持了(因为模型格式 EDMX (XML) 在 EF Core中未实现),今天大姚给大家分享一款在 EF Core 命令行工具的基础上构建的适用于 Visual Studio 2022 中的 EF Core 反向工程和模型可视化扩展插件:EF Core Power Tools。

weixin_36854889的博客 50

WPF怎么做新手引导界面?

本文经原作者授权以原创方式二次分享,欢迎转载、分享。原文作者:眾尋原文链接:https://www.cnblogs.com/ZXdeveloper/p/8391864.html这两天不忙,所以,做了一个简易的新手引导小Demo。因为,不是项目上应用,所以,做的很粗糙,也就是给需要的人,一个思路而已。新手引导功能的话,就是告诉用户,页面上操作的顺序,第一步要做什么,第二步要...

dotNET跨平台 1045

Java怎么快速转C#?

有java面向对象基础,想转c#,但是java和c#很多语法是相通的,从头到尾学习浪费时间,那么Java和c#有哪些区别呢?我们该直接学习哪些内容?

qq_59678786的博客 1445
上一篇: WPF获取鼠标点击位置和API使用
下一篇: Gitee入门
BeanGo
博客等级 码龄10年 931粉丝 167原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BeanGo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值