C# 用户控制锚不工作

C# 用户控制锚不工作,c#,winforms,user-controls,C#,Winforms,User Controls,我有一个用户控件,其中包含许多其他控件。我希望我的用户控件在用户调整父窗体大小时正确调整自身大小 我已将此用户控件的AutoSize属性设置为true 即使我已经设置了用户控件中所有控件的Anchor属性,但是用户控件本身才是 设计器中的属性菜单中没有锚属性 当我在itsInitializeComponent()方法中手动添加其锚属性时,其行为非常奇怪(Visual Studio会自动从设计器代码中删除该行,然后将我的用户控件拖到设计器的右下角) 如何设置用户控件,以便在用户更改窗体大小时调整其

我有一个
用户控件
,其中包含许多其他控件。我希望我的用户控件在用户调整父窗体大小时正确调整自身大小

我已将此用户控件的
AutoSize
属性设置为
true

即使我已经设置了用户控件中所有控件的
Anchor
属性,但是用户控件本身才是

  • 设计器中的属性菜单中没有锚属性
  • 当我在its
    InitializeComponent()
    方法中手动添加其锚属性时,其行为非常奇怪(Visual Studio会自动从设计器代码中删除该行,然后将我的用户控件拖到设计器的右下角)

  • 如何设置用户控件,以便在用户更改窗体大小时调整其大小?

    用户控件的设计器隐藏
    停靠
    锚定
    属性。只有将实例添加到某个父级后,它们才有效

    但是,它们确实存在并且可以设置,例如在构造函数中:

    this.Dock = DockStyle.Fill;
    

    UserControls
    在创建其实例之前,没有可访问的
    Anchor
    属性。但是你可以在他们的构造函数中设置它。请注意,这应该在
    InitializeComponent
    调用之后完成,而不是在调用中,并且它不创建属性,而是设置属性。UC是否直接位于表单上,或者在表单之间是否有一个或多个其他控件?那么,选项卡大小是否正确?让我们来看看。我猜,只要没有父控件,属性都是隐藏的,因为它们只有在组合中才有意义。使用填充是一种选择,但设置所有锚也应该同样有效,并允许您在UC周围添加内容。继续写一个答案。。我不想这样:-(