社区
C#
帖子详情
在MDI中,总是同时打开了两个窗口??
YangYun
2010-05-19 04:57:18
我设计了一个MDI程序,在主窗口上放置了工具栏,在工具栏上放置了一些按钮,每个按钮对应着打开一个窗口,但让人郁闷的事情发生了,点击任一按钮,除了打开了一个我期望的窗口外,还同时打开了一个另外的窗口(比如为A吧),如果我想打开A窗口,这时就同时打开了两个窗口A,也就是说,无论我点了哪一个生成子窗口的按钮,都同时生成了窗口A,以前这种事情是没发生的,是后来才发生的,这是为什么啊?
...全文
84
11
打赏
收藏
在MDI中,总是同时打开了两个窗口??
我设计了一个MDI程序,在主窗口上放置了工具栏,在工具栏上放置了一些按钮,每个按钮对应着打开一个窗口,但让人郁闷的事情发生了,点击任一按钮,除了打开了一个我期望的窗口外,还同时打开了一个另外的窗口(比如为A吧),如果我想打开A窗口,这时就同时打开了两个窗口A,也就是说,无论我点了哪一个生成子窗口的按钮,都同时生成了窗口A,以前这种事情是没发生的,是后来才发生的,这是为什么啊?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
YangYun
2010-05-19
打赏
举报
回复
找到原因了,郁闷啦。原因是这样的。一般的按钮点按后生成的事件为tbConfigPackProgram_Click(object sender, EventArgs e)
,而窗口A的事件为:toolStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e),而这个toolStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
是toolstrip的Itemclick事件,我引用错了。因此只要点击了toolstip就会调用这个生成窗口A的命令
YangYun
2010-05-19
打赏
举报
回复
我单步调试了一下,发现就是某个窗口显示后,即MyForm.Show()语句后,马上又去执行了窗口A的调用代码,但我不知道是怎能么一下子跳到那儿去的,看来对调试器和执行过程不熟悉,现在找不到原因啊。
YangYun
2010-05-19
打赏
举报
回复
由于还处在刚设计难期,下面的代码基本相似,贴出来看看吧。
private void toolStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
{
Form MyForm = new ConfigPack();
MyForm.MdiParent = this;
MyForm.Show();
}
private void tbConfigPackProgram_Click(object sender, EventArgs e)
{
Form MyForm = new PackProgram();
MyForm.MdiParent = this;
MyForm.Show();
}
一样的,没区别,但就是只多生成了窗口A。
whowhen21
2010-05-19
打赏
举报
回复
如果不是代码的问题,那难道还是鼠标的问题呀~~~
zzx509
2010-05-19
打赏
举报
回复
没代码只能瞎猜原因了。
可能你的菜单点击事件注册了2次。
在设计界面时注册了一次,自己又写了一次。
也可能窗体是继承的,父窗体已经注册了菜单事件,在本窗体中又注册了一次。
YangYun
2010-05-19
打赏
举报
回复
我仔细看了一下主窗体中的代码,代码很简单,都是一样的,都是在按钮的CLICK事件里先生成期望的子窗口,然后show()就行了啊。
jsonzbc
2010-05-19
打赏
举报
回复
[Quote=引用 4 楼 mohugomohu 的回复:]
那你就是先A.Show(),然后又if(A.ShowDialog()==DialogResult.OK)了,
把A.Show()去掉
[/Quote]
可能是楼上说的这个问题...
mohugomohu
2010-05-19
打赏
举报
回复
那你就是先A.Show(),然后又if(A.ShowDialog()==DialogResult.OK)了,
把A.Show()去掉
捷哥1999
2010-05-19
打赏
举报
回复
你把按钮的代码贴出来看看!
vicen25
2010-05-19
打赏
举报
回复
哎,分我要定了~哈哈哈~
vicen25
2010-05-19
打赏
举报
回复
代码写多了,或循环了两次~
Delphi开发技巧之-Forms
最小化第二个
窗口
到任务栏 查找窗体注册类 格式化MessageDlg 检查PopUp菜单是否
打开
检查控件是否被其它
窗口
遮掩 添加菜单项到系统菜单 渐变色填充窗体 特效
窗口
移动指针到当前具有焦点的控件 移除系统菜单项 自动...
TabBars---VC6 IDE增强插件
Visual C++ 6.0的集成开发环境对项目文件的管理功能比前几个版本有了很大的增强,但是对
打开
文档
窗口
的管理和普通的
MDI
编辑软件一样,只能通过
窗口
菜单切换,使用起来很不方便。2001年的时候我在网上见到了一款名为...
.Net WinForm学习笔记
设有
两个
窗体frmMain,frmChild,则: frmMain: 设Is
Mdi
Container属性为true
打开
子
窗口
: 在相关事件
中
写如下代码: frmChild child=new frmChild(); child.
Mdi
Parent=this;//this表示本窗体为其父窗体 child.Show...
OFFICE 全文检索
有了数据库,和
两个
模块,就可以测试这个程序; 1、程序为
MDI
程序。 2、程序的第一个界面为列表的文档管理界面。; 3、关闭这个列表的文档视
窗口
; 4、执行(文件——
打开
)菜单命令,
打开
空白文档
窗口
,这是...
MFC程序员的WTL指南
WTL提供splitter
窗口
类(这样在一个视里您可以有
两个
窗口
)和scroll
窗口
类(这样您的
窗口
可以比它显示的"视"小). WTL也有个类似MFC的UpDateUI的东西,但是它们不是很一样 - 主要的区别是您需要把需要更新的项用宏映射...
C#
110,536
社区成员
642,578
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章