读书人

碰到一个无模式窗体的有关问题

发布时间: 2013-08-25 10:49:56 作者: rapoo

碰到一个无模式窗体的问题
先说一下要求,一个应用程序运行期间创建一个主窗体,然后创建一个无模式窗体,无模式窗体在windows任务栏占有一个独立的标签,要求主窗体和无模式窗体可以独立接受用户输入。
要求说完了,说说测试过程。
创建一个应用程序,建立一个窗体form1,再建立一个窗体form2,然后form1上加入2个button,1个button通过show方法启动form2,form2使用一些方法可以在任务栏显示标签,在另外一个button里showmessage一个模式消息框。
测试过程很简单,但是有个问题很麻烦,就是不显示消息框时,form1和form2都能接收用户点击消息,都能操作,但是显示了消息框以后,按道理消息框是模式对话框,form1不能接收用户输入,form2应该还能接收用户输入,但是实际情况是form1、form2都不能接收用户输入了,有没有什么办法让form2还能接收用户输入。

另在vc和c#上都测试过,MFC的窗口就没问题,但是C#效果和delphi一样。
多窗口 无模式
[解决办法]
有具体的代码示例吗?
[解决办法]
Form2 := TForm2.Create(self);
改成
Form2 := TForm2.Create(Application);
[解决办法]
应该是不行的,这是Delphi模式窗口的一个机制,ShowMessage弹出的也是一个模式窗口,Application弹出模式窗口后,其后面的所有窗口都无法获得焦点。
[解决办法]
看高手之间的谈话...
[解决办法]
建议生成两个执行程序,由两相互调用打开。两个都是Application,都在任务栏有图标,都可以激活录入数据。完全符合你的要求。

读书人网 >.NET

热点推荐