2010-07-01 53 views
0

我有很多面板和一种形式。我采用了面板,所以我不必使用多种形式。但是它有一个问题。将面板大小分配给窗体大小并显示窗体后,下次再次分配窗体时,令我惊讶的是面板比原始窗体小。这是为什么发生?这是我如何做的。面板尺寸越来越小

this.Size = panelABC.Size; 
panelABC.Dock = DockStyle.Fill; 
panelABC.Visible = true; 
+0

什么是'this'? – ChrisF 2010-07-01 14:20:26

+0

其形式类 – Trum 2010-07-01 14:31:25

回答

0

由于面板尺寸已就改变它的时候停靠内控制你来再次调用此代码。使用对接锚固将父容器的大小调整时管理面板尺寸。

为了回答清晰 - 实际答案在另一个发布的答案的评论中描述。

+0

如何补救? – Trum 2010-07-01 14:26:42

+0

不要再次调用代码,或者在面板停靠时忽略尺寸设置。 – 2010-07-01 14:30:20

0

我会假设有一些填充或其他意味着在第一次分配后需要进行一些调整以适应事物,这意味着panelABC变得更小(因此它将适合正确)。因此递归调用使它不断变小。

要确认是否是这种情况下,坚守在一个断点,并检查你的尺寸是什么,你经历......

0

什么this?如果它是你的面板所在的表单(或父控件),那么这就是你的问题:对接你的面板会使它比父面板稍小。随后调用您的代码,然后使父母匹配面板的(较小)尺寸,然后重复该过程...

+0

'这是'表格。那么解决方案是什么? – Trum 2010-07-01 14:28:03

+0

回答这个问题 - 为什么要将表单大小设置为面板大小?你想达到效果吗?很难提供解决方法,因为没有人知道你想用这个尺寸代码实现什么。 – 2010-07-01 14:29:10

+0

由于我有多个显示不同窗体状态的面板(您可能会说不同的窗口) – Trum 2010-07-01 14:30:37