Search code examples
c#.netwinformsuser-controls

User control Anchor property issue


Context :

I created an User Control. For some reason, I want to use this control in different size. To keep the initial "Template" of my User Control when re-sizing, I use the property Anchor on my different element inside the control.

So when I create my control at design time, it is possible to me to hand re-size the control and keep the original "Template" of it.

When the control is created, it look like this :

Initial

And after re-size :

Re-Sized

As you can see, the property Anchor work well.

  • The label and the picture stay in the middle.
  • The "?" stay to the left corner.

The problem :

The problem I have is, when the control is reloaded, created with a different size as the initial one, all the elements inside return to their initial position :

Problem

I don't know if this is the better way to do what I try to achieve. Keep in mind that I add and re-sizing the control's during the design time.

Thank you.

EDIT :

I think my problem is caused by the designer. Ex : I add my control in the designer, I re-size it, I run the solution. All is working good. But when I go to the code of the page, and then, return to the designer, the element inside the control returned to their initial position.

EDIT 2 :

Ok I have found a solution, I simply moved all the element of the User control inside a Panel. For some reason that I can't explain, it work perfectly. The control's stay at the same location.


Solution

  • The solution is ta add a Panel to the User Control and dock it to "Fill", then place the element inside of this panel. For some reason that I can't explain, the designer keep the location of the re-sized control's elements.