关于winform里panel可见性的奇怪问题

nut799 2009-12-21 11:05:20
为了在同一区域根据不同情况显示不同内容,我做了两个panel,相互叠加。
然后根据不同情况控制他们的visiablez属性。
                
case StatusOfForm.New:
this.panel_1.Visible = true;//显示详细记录的pannel
this.panel_2.Visible = false;//隐藏DataGridView所在的pannel


可是调试时,发现panel_1.Visible 的属性走到这里,仍然是false.两个panel的visiable属性都是false。界面上什么都没有。

为什么给他赋值true没有起作用呢?

...全文
135 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
xvwei860505 2010-07-27
  • 打赏
  • 举报
回复
```````````
nut799 2009-12-21
  • 打赏
  • 举报
回复
可以了
nut799 2009-12-21
  • 打赏
  • 举报
回复
晕 看了下代码
this.panelI_2.Controls.Add(this.panel_1);

不过我注释掉了,还是不行,为啥?

ps:这两个panel我是放在一个自定义控件里面的,在自定义控件的一个按钮click方法中来控制visible
wuzhicheng5 2009-12-21
  • 打赏
  • 举报
回复
panel_2 panel_1了两者要独立
不能互相嵌套
szzzp110 2009-12-21
  • 打赏
  • 举报
回复
肯定是嵌套了
hhc123 2009-12-21
  • 打赏
  • 举报
回复
你叠起来了,你让我看看Form.Designer.cs
里面panel控件是怎么个添加法的。
this.panel_1.Visible = true;//显示详细记录的pannel
this.panel_2.Visible = false;//隐藏DataGridView所在的pannel

this.Controls.Add(this.panel_1);
this.Controls.Add(this.panel_2);

看一下就是是这样,如果是这样完全是可以的。
wartim 2009-12-21
  • 打赏
  • 举报
回复
你不会是panel_2嵌套panel_1了吧
nut799 2009-12-21
  • 打赏
  • 举报
回复
如果这样不可以,有什么方法可以在同一区域显示不同内容呢

110,566

社区成员

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

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

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