2009-03-30 6 views
1

Ich habe die prototypische Unternehmensanwendung mit einem Formular (mit Adresse, Telefon usw.) geerbt.Die Steuerung kann dem benutzerdefinierten WinForms-Bedienfeld nicht zugewiesen werden. VS2008 winforms Designer

Jetzt auf dieser erwähnten Person Form ein Label + Textfeld ist ein Kind des Formulars selbst und nicht des Panels, zu dem es visuell gehört.

Wie kann ich das übergeordnete Element eines Steuerelements vom Formular in ein vorhandenes Bedienfeld in VS 2008 Designer ändern?

Update:

Ah, so scheint es ein Problem mit der Super-Magie benutzerdefinierter Gruppe Box Kontrolle meiner geliebten Kuh zu sein orker zu meinem Vergnügen überlassen. Ziehen in eine normale Gruppe Box funktioniert ...

Update 2:

Mit Hilfe der Dokumentgliederung kann ich sehen, dass der Brauch „GroupBoxExt“ wir haben in der Anwendung defekt ist, eine Steuer ziehen auf das Panel (oder nur die Position eines Steuerelements auf dem Panel ändern) weist es dem Formular zu.

Update 3:

Nun, da ich neu, was falsch war (Dank für das Dokument Umriss Spitze) ich ging auf CodeGuru eine benutzerdefinierte Gruppe Feld Google und gefunden. Der Autor dieses artilce fand heraus Sie Ihre benutzerdefinierten Panel dekorieren bräuchten mit

[Designer("System.Windows.Forms.Design.ParentControlDesigner, System.Design", typeof(IDesigner))] 

, um es als einen netten Behälter verhalten.

Antwort

2

Wenn Sie dies im Designer suchen, suchen Sie nach dem Dokumentgliederungsfenster (es befindet sich im Menü Ansicht unter "Andere Fenster"). Von dort können Sie Steuerelemente nach ihrem Namen in der Gliederung ziehen und das übergeordnete Element zuweisen.

Hoffe, das hilft!

+0

Ah, großartig, ich suche nach Dokumentenumrissen. Beim Betrachten der Gliederung stellt sich heraus, dass die benutzerdefinierte "GroupBoxExt" in der Anwendung fehlerhaft ist, sobald ich ein Steuerelement verschiebe, wird es dem Formular neu zugewiesen. – froh42

+0

Ich akzeptiere deine Antwort, da sie mich aus Verzweiflung in die richtige Richtung bewegt :-) – froh42

0

Ich bin mir nicht sicher, was genau Sie fragen. Können Sie versuchen, das Szenario ein wenig zu erklären?

Wenn Sie jedoch einen Steuerelementelternteil ändern möchten, müssen Sie dieses Steuerelement nur mit der Eigenschaft Controls zu einem untergeordneten Steuerelement des Steuerfelds machen.

myPanel.Controls.Add(target) 

Dies sollte das übergeordnete Ziel aktualisieren MyPanel zu sein.

Wenn Sie dies über den Designer versuchen, müssen Sie nur das Zielsteuerelement auf das Panel ziehen und das sollte sich darum kümmern.

+0

Ja Ich möchte es mit dem Designer tun (ich muss eine Menge Dinge neu anordnen), aber nur das Steuerelement auf dem Panel ziehen funktioniert nicht mit dem "GroupBoxExt" mein Kollege gebaut ... es wird zugewiesen werden das Formular stattdessen. – froh42

Verwandte Themen