为什么锚不能与Controls.Add一起使用?

时间:2014-07-15 15:33:42

标签: c# winforms visual-studio

我还在学习Visual Studio 2013,C#和Windows Forms。所以,忍受我!

我在表单上添加了一个按钮。我还添加了一个新的自定义用户控件,其中包含另一个带按钮的表单。我想在click上添加一个加载和卸载这个新的自定义用户控件的事件。

    private void button1_Click(object sender, EventArgs e)
    {
        this.Controls.Add(this.MyHomePanel);

    }

这段代码就足够了。单击时,它将加载MyHomePanel用户控件。但是,当所有其他属性执行时,不会加载该控件的锚属性。加载的属性是默认位置,我设置的背景图像和边框。顶部,底部和左侧的锚标签似乎没有加载。

this.MyHomePanel.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) | System.Windows.Forms.AnchorStyles.Left)));

这让我感到困惑,因为如果我在表单中手动绘制它,而不是当我删除手动绘图并使用Controls.Add();调用它时,Anchor代码是正确的。这也让我感到困惑,因为其他属性也没有问题。

1 个答案:

答案 0 :(得分:0)

我自己尝试了它,它适用于:

this.MyHomePanel.Anchor = AnchorStyles.Top & AnchorStyles.Bottom & AnchorStyles.Left;