事件中为什么不能Show一个窗体

buduanxuexi 2008-11-24 09:05:56
我开发了一个UDP通讯,为什么在事件中就show不出一个类似MSN短消息的窗口呢,请高手指教。
...全文
134 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
bloodish 2008-11-24
  • 打赏
  • 举报
回复
UI线程以外的线程里创建一个窗体在show出来肯定要出异常
可以这样写:

AsyncOperation asyncOperation;
asyncOperation = AsyncOperationManager.CreateOperation(null);

void ThreadProc()
{
asyncOperation.Post
(
delegate
{
Form f = new Form();
f.Show();
},null
);
}
AsyncOperation 的用法,以及为何要这么做楼主可以查阅MSDN
buduanxuexi 2008-11-24
  • 打赏
  • 举报
回复
是啊

qhdrenzhijie 2008-11-24
  • 打赏
  • 举报
回复
我也遇到这种问题了.楼主用的是一个线程一直在监听吧??
acqy 2008-11-24
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 whitechololate 的回复:]
引用 5 楼 acqy 的回复:
你事件通知了UI后,在UI处处理这个事件并弹出窗口。
我估计你也应该是这样做的。
建议你先建一个简单的windows forms项目,在这个项目中使用你的方式来简单的弹出一个窗口,看这个窗口是否会正常显示,如果可以,那就应该是你事件处理的问题。
接下来,就可以根据这个判断,来确定断点设在什么地方,进而跟踪执行。

具体还要自己去跟,学习~
[/Quote]

因为我个人觉得,这个窗口不work,至少有两个方面的原因:是窗体弹出逻辑不正确,还是事件没被触发。
lchh0917 2008-11-24
  • 打赏
  • 举报
回复
学习~
whitechololate 2008-11-24
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 acqy 的回复:]
你事件通知了UI后,在UI处处理这个事件并弹出窗口。
我估计你也应该是这样做的。
建议你先建一个简单的windows forms项目,在这个项目中使用你的方式来简单的弹出一个窗口,看这个窗口是否会正常显示,如果可以,那就应该是你事件处理的问题。
接下来,就可以根据这个判断,来确定断点设在什么地方,进而跟踪执行。
[/Quote]
具体还要自己去跟,学习~
啊兵 2008-11-24
  • 打赏
  • 举报
回复
保持关注
zjybushiren88888 2008-11-24
  • 打赏
  • 举报
回复
跟一下
acqy 2008-11-24
  • 打赏
  • 举报
回复
你事件通知了UI后,在UI处处理这个事件并弹出窗口。
我估计你也应该是这样做的。
建议你先建一个简单的windows forms项目,在这个项目中使用你的方式来简单的弹出一个窗口,看这个窗口是否会正常显示,如果可以,那就应该是你事件处理的问题。
接下来,就可以根据这个判断,来确定断点设在什么地方,进而跟踪执行。
hangang7403 2008-11-24
  • 打赏
  • 举报
回复
应该可以
jinjazz 2008-11-24
  • 打赏
  • 举报
回复
写代码不调试吗
cpio 2008-11-24
  • 打赏
  • 举报
回复
有没有代码片段啊?

跟踪一下,看看有没有到显示窗口的地方
buduanxuexi 2008-11-24
  • 打赏
  • 举报
回复
其中事件是UDP侦听到消息后,就抛给该事件,界面只需订阅就可以了

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧