我有很多面板和一个表格。我使用了面板,所以我不必使用多种形式。但它存在问题。在我将面板大小指定给表单大小并显示表单后,下次再次分配它时,令我惊讶的是面板比原始面板小。为什么会这样?我正是这样做的。
this.Size = panelABC.Size;
panelABC.Dock = DockStyle.Fill;
panelABC.Visible = true;
答案 0 :(得分:0)
由于面板尺寸相对于控件发生了变化,因此当您再次调用此代码时,它会停靠。使用 停靠 或 锚定 将在调整父容器大小时管理面板大小。
为了清楚答案 - 实际答案在另一个已发布的答案的评论中描述。
答案 1 :(得分:0)
我认为有一些填充或其他意味着在第一次分配之后需要进行一些调整以适应事物意味着panelABC变小(因此它将正确拟合)。因此,递归调用使它变得越来越小。
要确认是否是这种情况,请在断点处查看并检查您的尺寸是否正确...
答案 2 :(得分:0)
什么是this
?如果它是您的面板所在的表单(或父控件)那么那就是您的问题:对接面板将使其略小于父面板。对您的代码的后续调用然后使父级匹配面板的(较小)大小,然后重复该过程......