我有一个由几个splitcontainer分隔的屏幕。其中一个包含我制作的用户组件的矩形,这些“矩形”代表医院病床。我想要做的是给用户在这个“用户组件视图”和“数据网格视图”之间切换的选项。C#隐藏并显示在分离容器顶部的面板
所以我创建了一个面板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();
}
什么是两个面板的家长? – 2010-09-29 08:25:56
基本的Windows窗体是父窗体。 – Starceaker 2010-09-29 08:32:31