【发布时间】:2010-09-29 08:12:42
【问题描述】:
我有一个由几个拆分容器分隔的屏幕。其中一个包含我制作的用户组件的矩形,这些“矩形”代表医院病床。我想做的是让用户可以选择在“用户组件视图”和“数据网格视图”之间切换。
所以我创建了一个面板 pnlPatients,我给它提供了与带有用户组件的 splitcontainer 相同的大小。当用户选择“更改视图”时,程序应该在两种布局之间切换。
代码: 尝试1:
if (pnlPatients.Visible)
pnlPatients.Hide();
else
{
pnlPatients.Show();
pnlPatients.BringToFront();
}
尝试 2:
pnlPatients.Visible = !pnlPatients.Visible;
pnlPatients.Invalidate();
奇怪的是,这两种尝试都是这样工作的:
用户首先看到的是“用户组件视图”。 如果他切换视图,它将正确地在前一个视图的顶部显示面板。 如果他再次切换,则面板将正确隐藏。 如果他随后再次切换视图,则面板将不会显示。请注意:调试时,面板的可见属性正确更改为 TRUE 或 FALSE。但由于某种原因,只有第一次将其设置为可见 TRUE 时才能看到面板。
有人有想法吗?
最好的问候
编辑:我也尝试过,但没有成功:
pnlPatients.Visible = !pnlPatients.Visible;
if (pnlPatients.Visible)
{
pnlPatients.BringToFront();
}
else
{
pnlPatients.SendToBack();
}
【问题讨论】:
-
两个面板的父级是什么?
-
基本的 Windows 窗体是父窗体。