C#同时使用多个窗口的问题

irwin375 2010-11-07 04:40:12
小弟做了个小软件,每次新建窗口的时候都使用的form1. ShowDialog(),但有个问题就是如果有多个窗口时只能操作最上面那个,比如在form1上打开form2,此时只能对form2进行操作,要操作form1上的东西必须要关掉form2才行,我想form2打开时我还能在form1上进行操作,不知道应该怎么做,望大家指点一下,最好细致一点,或有些教程。
...全文
825 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
listenyang 2010-11-07
  • 打赏
  • 举报
回复
[Quote=引用楼主 irwin375 的回复:]
小弟做了个小软件,每次新建窗口的时候都使用的form1. ShowDialog(),但有个问题就是如果有多个窗口时只能操作最上面那个,比如在form1上打开form2,此时只能对form2进行操作,要操作form1上的东西必须要关掉form2才行,我想form2打开时我还能在form1上进行操作,不知道应该怎么做,望大家指点一下,最好细致一点,或有些教程。
[/Quote]

不要用form1.ShowDialog(),用form1.Show()就可以。
  • 打赏
  • 举报
回复
很奇怪 为什么是模式窗体

而不是直接show()
Lucinda9127 2010-11-07
  • 打赏
  • 举报
回复
5L的方法已经详尽了..
telancs 2010-11-07
  • 打赏
  • 举报
回复
learninggggggggggggg
旅行者I号 2010-11-07
  • 打赏
  • 举报
回复
form.show(),还要防止窗口被打开多个,用单例模式
SunnyBoy 2010-11-07
  • 打赏
  • 举报
回复
用C#写是这样的
第一种:
Form2.Show();//也就就是一楼所说的
第二种:
Form2.Owner=From1;//设置Form2窗体为From1窗体的的拥有者
Form2.Show();//这样就可以实现了
第三种:
把Form1设为From2的父窗体
这要看你些什么样的程序了,如果是多窗体的这一步是必须的!
首先要在From1窗体的属性中设置IsMDiContainer 属性值为true
在Form2构造函数中:
public Form2(Form form)
{
this.Mdiparent=form;
}
在Form1中需要显示From2的地方添加如下代码:
From2 form2=new From2(this);
from2.show();
chuzhaowei 2010-11-07
  • 打赏
  • 举报
回复
form1. ShowDialog() 改成 form1.Show()。
xxiju203 2010-11-07
  • 打赏
  • 举报
回复
如果你既想用模态窗口又想同时操作主窗体,那么你可以使用一个新的线程来打开你的模态窗口而不是直接在UI线程ShowDialog
tony-src 2010-11-07
  • 打赏
  • 举报
回复
你是不是用VB的???
form1.showDialog(); //这是模态窗体类似对话框那种的
tony-src 2010-11-07
  • 打赏
  • 举报
回复
form1.show();

110,534

社区成员

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

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

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