社区
C#
帖子详情
关于消息委托!
cimu
2007-09-05 03:49:52
我的外壳程序需要和 子窗口通信, 定义了消息委托, 测试通信正常,现在想增加一个功能, 不知道如何处理, 请大家帮忙
子窗口 发送消息给外壳后 需要等待 外壳回送处理结束的消息 才可以继续流程 , 请问在子窗口如何实现等待功能?
...全文
144
8
打赏
收藏
关于消息委托!
我的外壳程序需要和 子窗口通信, 定义了消息委托, 测试通信正常,现在想增加一个功能, 不知道如何处理, 请大家帮忙 子窗口 发送消息给外壳后 需要等待 外壳回送处理结束的消息 才可以继续流程 , 请问在子窗口如何实现等待功能?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
bigmingming
2007-09-05
打赏
举报
回复
PV操作
lhzyn
2007-09-05
打赏
举报
回复
你可以在外壳里多定义几个事件比如处理完成,处理失败,汇报处理进度什么的
子窗体分别订阅它们,根据不同的事件做不同的处理.
cimu
2007-09-05
打赏
举报
回复
juedaihuaihuai(绝代坏坏(beyond myself)) :
我是采用了第一种方法, 父窗口处理完后会给子窗口发消息,关键是, 我不知道如何在子窗口实现等待!
子窗口函数1 是业务逻辑处理 , 处理过程中会发消息给父窗口 , 父亲窗口处理完后会返回消息, 该消息会被子窗口的函数2 收到, 但是如何在函数1实现等待啊 ?
ztenv
2007-09-05
打赏
举报
回复
事件如果处理不完可以返回吗?我感觉事件一定要处理完了才可以返回的,可能是我理解错误,刚刚学C#,望大侠指教如果有不对之处
绝代坏坏
2007-09-05
打赏
举报
回复
两种方法,一种是在父窗口也做一个委托事件,父窗口处理完成后调用事件 另一种方法做多线程,隔一段时间去父窗口去一下状态。
lhzyn
2007-09-05
打赏
举报
回复
如果子窗口在等待过程中,你想让用户有所动作,可以直接 this.Enabled = false;
然后在订阅外壳处理完成的消息代码中 this.Enabled = true;
如果订阅处理完成消息的代码段不在子窗体的主线程中执行的话,你需要用委托去重新激活子窗体
cimu
2007-09-05
打赏
举报
回复
使用信号量吗? 因为子窗口发消息后会等待, 怎么等待? 记得以前VC中有 线程信号量 的概念!C#如何等待啊? 不会写个死循环等待吧
zhchg6666
2007-09-05
打赏
举报
回复
这是生产者和消费者的关系
可以做一个临界变量用于控制
临界变量由外壳程序控制
由子窗体试用
可以找线程同步的资料
c# 创建
委托
消息
订阅_@开发者,一文搞懂什么是 C# 计时器!|CSDN 博文精选
作者 | 朱钢责编 | 郭芮Timer 计时器是在 C# 开发中经常用到的,但是有很多开发人员对它并不了解,今天这篇文就具体讲解一下 C# 中的计时器。在 C# 中存在3种常用的 Timer :System.Windows.Forms.TimerSystem.Timers.TimerSystem.Threading.TimerSystem.Windows.Forms.Timer这个 Timer 是...
017
委托
给类的实例方法
Module Module1 Public Class msgDisplay '1.被
委托
的方法 Public Sub display(ByVal msg As String) Console.WriteLine(msg) End Sub End Class '2.声明
委托
Delegate Sub delegateMessage(ByVal str As String) Sub Main().
备份一下
委托
消息
传递
using System.Collections; using System.Collections.Generic; using UnityEngine; public class MessageCenter { //
委托
public delegate void DelMessageDelivery(KeyValueUpdate kv); //
消息
中心缓存集合 public static Dictionary<string, DelMessageDeliver.
基于
委托
的低耦合
消息
传递
消息
传递中心 用到知识点,
委托
,字典数据结构 Unity内置了SendMessage方法,但是耦合性较高,在调用
委托
时候会调用
委托
上所挂在的方法,在调用时并不确定都挂载了什么方法。需要
消息
的一方只需要在
委托
上挂载方法,利用
委托
中的参数(
消息
),就可以接收到所需要的信息。实现了低耦合的
消息
传递。 现在我这里有四个按钮需要同时打开一个UI面板,在UI面板中需要显示一些信息,但是我不知道要显示一些什么东西,这时候就需要别人告诉我信息,传递过来什么我就显示什么。 建立四个按钮,并且一个面板 ,按钮用来打开面板
Unity-基于
委托
消息
收发机制
在之前的博客中曾经写过一篇《Unity-基于面向对象多态特征的
消息
收发机制》,但是继承的层次比较多,不便于初学者的学习和使用,此篇博客是基于
委托
的
消息
收发机制。 制定事件码 事件码要对应于后面的不同的方法 事件码和方法是一一对应的 不能重复 是执行的方法的唯一标识 相当于方法的身份证 using System.Collections; using System.Collections.G...
C#
111,129
社区成员
642,532
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章