Foxtable(狐表)用户栏目专家坐堂 → 请问为什么添加到Panel里面的窗口,打开窗口就关闭了


  共有4666人关注过本帖树形打印复制链接

主题:请问为什么添加到Panel里面的窗口,打开窗口就关闭了

帅哥哟,离线,有人找我吗?
打错潇洒
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:568 积分:6437 威望:0 精华:2 注册:2012/12/23 8:21:00
请问为什么添加到Panel里面的窗口,打开窗口就关闭了  发帖心情 Post By:2014/3/6 17:11:00 [只看该作者]

Dim PB As WinForm.Panel = e.Form.Controls("Panel2")
Dim Name As String = "工具栏"
Forms(Name).OPEN(-1000,-1500)
Forms(Name).BaseForm.TopLevel = False
Forms(Name).BaseForm.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None
Forms(Name).BaseForm.Dock = System.Windows.Forms.DockStyle.Fill
PB.BaseControl.Controls.Clear
PB.BaseControl.Controls.add(Forms(Name).BaseForm)

当使用以上的代码将一个 名字的工具栏的窗口 添加到了 当前名称为Panel2里面 Panel2里面有个按钮要打开其他的窗口 这个时候当前窗口就关闭了




 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/3/6 17:13:00 [只看该作者]

上例子. 

 回到顶部
帅哥哟,离线,有人找我吗?
逛逛
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:1693 积分:12135 威望:0 精华:7 注册:2013/7/11 10:52:00
  发帖心情 Post By:2014/3/6 17:21:00 [只看该作者]

1、要加入的窗口类型应该是独立窗口

 

2、PB.BaseControl.Controls.Clear  是清除容器中所有的控件(主要是写例子的时候嫌麻烦,没有遍历隐藏),所以这时候容器中不能有控件,否则都会清除。


 回到顶部
帅哥哟,离线,有人找我吗?
打错潇洒
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:568 积分:6437 威望:0 精华:2 注册:2012/12/23 8:21:00
  发帖心情 Post By:2014/3/6 17:32:00 [只看该作者]

真的是这样子 谢谢逛逛 可是这样会不会增加 系统负担 重复性添加了控件

 回到顶部
帅哥哟,离线,有人找我吗?
逛逛
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:1693 积分:12135 威望:0 精华:7 注册:2013/7/11 10:52:00
  发帖心情 Post By:2014/3/6 17:39:00 [只看该作者]

应该不会的,一个窗体不管你怎样添加,还是一个窗体,无非是移了一个位置。

 

我想做到窗体复用,都没办法。

 

当然判断窗口是否已打开,是必不可少的。

[此贴子已经被作者于2014-3-6 17:40:26编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
打错潇洒
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:568 积分:6437 威望:0 精华:2 注册:2012/12/23 8:21:00
  发帖心情 Post By:2014/3/6 19:06:00 [只看该作者]

模态窗口打开 依然会关闭 有没有解决方案

 回到顶部
帅哥哟,离线,有人找我吗?
打错潇洒
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:568 积分:6437 威望:0 精华:2 注册:2012/12/23 8:21:00
  发帖心情 Post By:2014/3/6 19:19:00 [只看该作者]

还有 好厉害的闪烁

 回到顶部
帅哥哟,离线,有人找我吗?
逛逛
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:1693 积分:12135 威望:0 精华:7 注册:2013/7/11 10:52:00
  发帖心情 Post By:2014/3/6 20:25:00 [只看该作者]

其实这个案例,初衷是在项目中只使用一个主窗体,通过窗体的控件化来调用整个程序。

 

1、便于项目整体风格的统一

 

2、可以利用项目的锁屏方法来减少闪烁(当然的注意一下技巧,防止死锁。)

 

3、减少设计工作量。(如:员工表编辑窗口只要设计一个,就可以在权限编辑、部门查看等窗口中调用,当然不能同时。)

 

4、可以复制窗口(用模板),如果你将目录树归为一类、表格归为一类,设计工作量会大量减少。

 

对于模式窗口时这样模拟的。(用的还是独立窗口)

 

主窗口中有一个textbox控件,值改变事件写入:如果为10就将主窗口的可用为假,如果为20就将主窗口的可用为真

 

将模拟的模式窗口打开,置顶,textbox控件值为10

 

关闭时,设textbox控件值为20

 

用textbox的的原因是他有事件,同时可视为假时,也可以调用。

[此贴子已经被作者于2014-3-6 20:30:13编辑过]

 回到顶部