您的位置:首页 > 其它

登陆窗口切换后事件函数失效的解决办法

2017-01-06 11:10 295 查看
PDA使用SOCKET环境,是用事件函数返回服务器的消息,我的LOGIN FORM有一个事件函数:

ggg.clientSocket.OnServerMsg += new xxhSocket.EventHandler(ServerMsgPush);   //服务器返回消息事件


在 MAIN FORM里,也有一个事件函数:

Logon.ggg.clientSocket.OnServerMsg += new xxhSocket.EventHandler(ServerMsg); //服务器返回消息事件

遇到一个奇观的事情,从LOGIN向MAIN切换的时候,LOGIN的事件函数居然不起作用,我的心跳功能可是挂在这里面的哇!

最后一查资料,才发现:如果要保留原FORM的消息事件应该在新窗口用show。

在C#中窗口的显示有两种方式:模态显示(showdialog)和非模态显示(show)。
二者最常见的区别是:

模态显示后,
弹出窗口阻止调用窗口的所有消息响应。
只有在弹出窗口结束后调用窗口才能继续。
在模态窗口“关闭”后,可以读取模态窗口中信息,包括窗口的返回状态,窗口子控件的值。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐