User control Anchor-Eigenschaft Problem

Kontext :

Erstellte ich eine User Control. Aus irgendeinem Grund, will ich mit dieser Steuerung in verschiedenen Größe. Zu halten, die erste "Vorlage" von meinem User Control wenn die re-sizing, ich benutze die Eigenschaft Anker auf meine anderen element innerhalb der Steuerung.

Also, wenn ich meine Steuern an design-Zeit, ist es mir möglich, hand re-Größe die Kontrolle und halten Sie die original - "Vorlage" von es.

Wenn das Steuerelement erstellt wird, wird es wie folgt Aussehen :

User control Anchor-Eigenschaft Problem

Und nach re-Größe :

User control Anchor-Eigenschaft Problem

Wie Sie sehen können, ist die Eigenschaft Anker gut funktionieren.

  • Die Beschriftung und das Bild in der Mitte zu bleiben.
  • Das "?" bleiben auf der linken Ecke.

Das problem :

Das problem das ich habe ist, wenn das Steuerelement geladen wird, erstellt, mit einer anderen Größe als die ursprünglichen, alle die Elemente innerhalb Rückkehr in Ihre Ausgangslage :

User control Anchor-Eigenschaft Problem

Ich weiß nicht, ob dies der bessere Weg, das zu tun, was ich versuche zu erreichen. Beachten Sie, dass ich hinzufügen und re-Dimensionierung des Steuerelements während der design-Zeit.

Danke.

EDIT :

Ich denke, dass mein problem verursacht wird, durch die designer. Ex : ich meine-Steuerelement im designer, ich re-Größe ist es, ich habe die Lösung führen. Alles funktioniert gut. Aber wenn ich den code von der Seite, und dann zurück an den designer, das element im inneren der Steuerung wieder auf Ihre ursprüngliche position.

EDIT 2 :

Ok, ich habe eine Lösung gefunden, ich habe einfach alle bewegt das element der User control innerhalb einer Panel. Für einige Grund, den ich mir nicht erklären kann, es funktioniert perfekt. Die Steuern bleiben an der gleichen Stelle.

  • Sie konnte die ResizeEnd Event gelten die gleichen Eigenschaften, die Sie verwendet haben, um in ResizeBegin. Wenn Sie sagen, reloaded, ist es, dass die Steuerung bekommt eine komplett neue Instanz ? Wenn dem so ist, sollte immer den Aufruf von InitializeComponent, die für die Eigenschaften im designer definiert.
  • Im nicht wirklich sicher, was zu versuchen, denn mein problem scheint zu sein die Ursache für den designer. Ex : ich meine Steuern in meinem designer, ich re-Größe ist es, ich habe die Lösung führen. Alles funktioniert gut. Aber wenn ich den code von der Seite, und dann zurück an den designer, wird das element im Steuerelement zurück auf Ihre ursprüngliche position...
  • Dies ist zu vage. Sie müssen erklären, wie genau diese Kontrolle hat, "re-loaded", aber nicht mehr mit seiner ursprünglichen design-Größe. Und warum die normalen PerformLayout () - Aufruf, der ist, ausgestellt nach-Steuerelemente geladen werden, wird nicht mehr gemacht.
  • Verwenden Sie den debugger, um den Wert überprüfen, der Anker für die du kontrollierst, nachdem es neu geladen wird. Auch die Dock-Eigenschaft überschreibt die Anchor-Eigenschaft, so müssen Sie überprüfen, ob diese als gut.
  • Ok, ich bin auf der Suche auf das jetzt, danke.
  • Wie Sie sehen können habe ich eine Lösung gefunden zu meinem problem, ich danke Ihnen für Ihre Hilfe.

InformationsquelleAutor Vinc 웃 | 2013-05-30
Schreibe einen Kommentar