Windows窗体应用程序显示主窗体。此主窗体包含几个不同的Panel控件。根据该形式的某些条件,其中一个Panel控件将被激活而其他控件不可见。
第一个面板包含一个DataGridview,第二个面板包含用于显示DataGridView细节的控件。在“添加”按钮上单击(或)在“选择DataGridView中的记录”时,应该可以看到第二个面板。我正在使用Visible属性来显示和隐藏面板,但差距显示在屏幕截图中显示。
请建议处理此问题的最佳方法。
答案 0 :(得分:3)
您只需要面板共享相同的位置。您可能不希望在设计时这样做,因为它会使表单的未来维护变得困难。
在Form.Load
事件中,设置底部面板的位置以匹配顶部面板的位置。
PanelDetails.Location = PanelDataGrid.Location;
现在当你隐藏一个并显示另一个时,它们将出现在同一个地方。
答案 1 :(得分:1)
最明智的方法是将面板与设计师分开。这样,对它们进行的任何编辑都可以更容易地完成,并且可以立即看到所有实际对象。
在设计师中,设置其他面板' Visible
的{{1}}属性,除了顶部的第一个属性。
False
:
设置所有其他面板'匹配第一个面板位置的位置(在顶部)
设置表单的高度以匹配所需的高度,这适合您最轻的面板
使用按钮切换面板可见性(也可能是表单高度)