Wie positioniert UserControl innerhalb von ein Panel, wenn es zur Laufzeit Hinzugefügt?

Habe ich ein dialog-Formular mit einer Mischung aus design-time und run-time-zusätzliche Steuerelemente. Jedes dieser Steuerelemente wird gehostet in einem Panel. Jedes panel hat FillStyle.Top-set.

Zur Laufzeit füge ich ein UserControl zu einem panel:

public NetworkDiscoveryDialog(CSNetworkDiscovery networkDiscovery) : this()
{
    NetworkDiscovery = networkDiscovery;
    SnmpCommunitiesUserControl = new SnmpCommunitiesUserControl(NetworkDiscovery.SnmpCommunitiesSetting);
    panel2.Controls.Add(SnmpCommunitiesUserControl);
}

public partial class SnmpCommunitiesUserControl : UserControl
{
    public SnmpSetting SnmpSetting { get; set; }

    public SnmpCommunitiesUserControl()
    {
        InitializeComponent();
        Anchor = (AnchorStyles.Top | AnchorStyles.Left);
        Dock = DockStyle.Fill;
    }

    public SnmpCommunitiesUserControl(SnmpSetting snmpSetting)
        : this()
    {
        SnmpSetting = snmpSetting;
    }
}

Leider SnmpCommunitiesUserControl nicht die gleiche position wie die Steuerelemente, die Hinzugefügt wurden, die zur design-Zeit.

Habe ich versucht:

  • Einstellung des Panels margin als auch padding.
  • Einstellung des Benutzersteuerelements margin als auch padding.
  • Anchor-und Dock-Einstellungen.

Keiner von diesen scheinen, um eine Wirkung auf die Laufzeit-UserControl Hinzugefügt.

Zuvor, ich war vorbei, 'Location' - Parameters zu meinem UserControl-Konstruktor. Dies erlaubte mir, um die Position des UserControl, war aber nicht einer nachhaltigen Lösung.

Wie sollte ich gehen über das tun dies?

EDIT:

Meine aktuelle Lösung ist ein nest eine zweite Platte innerhalb des ersten Panels. Ich deaktivieren Sie alle Margen und Polsterung für beide Platten. Das übergeordnete Gremium hat Dock.Top mit seinem Kind haben-Dock.Füllen. Dann setze ich das Kind Links/Rechts Polsterung an 10. Dies bewirkt, dass die run-time-Steuerung erscheinen an der richtigen Stelle. Ich bin nicht glücklich mit dieser Lösung, obwohl.

Wie positioniert UserControl innerhalb von ein Panel, wenn es zur Laufzeit Hinzugefügt?

  • es ist eine Windows-basierte Anwendung.
  • Meine schlecht, ich weiß nicht, warum ich nicht sehen, dass mein Geist war zu sehen, aspnet.. sorry..
Schreibe einen Kommentar