社区
C#
帖子详情
事件中为什么不能Show一个窗体
buduanxuexi
2008-11-24 09:05:56
我开发了一个UDP通讯,为什么在事件中就show不出一个类似MSN短消息的窗口呢,请高手指教。
...全文
134
13
打赏
收藏
事件中为什么不能Show一个窗体
我开发了一个UDP通讯,为什么在事件中就show不出一个类似MSN短消息的窗口呢,请高手指教。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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侦听到消息后,就抛给该事件,界面只需订阅就可以了
通俗易懂的MySQL高级教程(含配套资料)
本教程为授权出品MySQL是目前流行的关系型数据库管理系统,在WEB应用方面 MySQL 也是目前好的 RDBMS 应用软件之一。随着淘宝去IOE(去除IBM小型机、Oracle数据库及EMC存储设备)化的推进,MySQL 数据库在当前的互联网应用
中
变得越来越重要,本教程主要讲授针对 Java 开发所需的 MySQL 高级知识,课程
中
会让大家快速掌握索引,如何避免索引失效,索引的优化策略,了解innodb和myisam存储引擎,熟悉MySQL锁机制,能熟练配置MySQL主从复制,熟练掌握explain、show profile、慢查询日志等日常SQL诊断和性能分析策略。
c#点击按钮调出另
一个
窗体
_C# 同时打开两个
窗体
一个
窗体
点击button控件触发另
一个
窗体
事件
...
给你一些提示,你可以先尝试自己写写看:假设Form1为启动主
窗体
,在Form1的Load
事件
中
已经Show了
一个
Form2的
窗体
实例。其
中
Form2的构造函数应该已经被重载了一次(该重载函数应该包含Form1类型作为参数):public partial class Form2{//省略其它生成代码……//添加Form1类内部变量private Form1 Form1{get;set;}//自己添加...
窗体
设计(1)——多个
窗体
之间的调用
概述:
一个
Windows应用程序通常由多个
窗体
组成、在创建
一个
窗体
时,系统会自动在应用程序
中
创建Form类的
一个
实例对象,当前显示的
窗体
就是
一个
类的对象。同样的情况,当想从当前
窗体
中
显示另
一个
窗体
时,必须在当前
窗体
中
创建另
一个
窗体
的实例。 使用以下代码可以打开另
一个
窗体
:新
窗体
类
窗体
实例名 = new 新
窗体
类(); 但是只是实例化
一个
窗体
类的对象
不能
让
窗体
“显示”出来,还要调用该对象的方法才能显示出
窗体
,
窗体
对象有两个方法可以完成该功能: ①
窗体
实例名.Show(); Show()方法以无模式对
C#
中
隐藏
一个
窗体
后打开另
一个
窗体
,使用Show()和Hide()方法
新建两个
窗体
Form1 和Form2 ; Form1
中
的按钮 的单击
事件
方法里面的代码; Form2 fm2= new Form2(this); fm2.Show(); this.Hide(); Form2
窗体
里面的代码; Form1 fm1 = new Form1(); Form2的构造方法里面; public Form2(Form1 fm1) { ...
C#
窗体
应用程序之新建
窗体
和添加
窗体
事件
1.新建
窗体
并打开
窗体
在项目文件
中
添加新建项,选择Windows
窗体
, 在Form1
窗体
中
添加鼠标单击
窗体
事件
,并在该
事件
对应的方法
中
写入打开 Form2
窗体
的代码,点击
窗体
1,然后有下角点击
事件
,具体代码如下。 点击MouseClick,实现单击后弹出新的窗口的功能,双击MouseClick,跳到代码处并写入以下代码 private void Form1_MouseClick(object sender, MouseEventArgs e) { //
C#
110,534
社区成员
642,576
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章