Panel-Ableitung mit Designer [Problem]

02/02/2010 - 17:26 von Ulf [Kado] Kadner | Report spam
Servus!

Ich hab hier ne einfache Ableitung von Panel

[Designer(typeof(MyPanelDesigner))]
public class MyPanel : Panel { /* ... */ }

Wenn ich den Designer auskommentieren kann ich, wie gewohnt, andere
Controls zum Panel hinzufügen.

Wenn der Designer nicht auskommentiert ist werden Controls, die in der
Designansicht hinzugefügt werden nicht dem Panel zugeordnet sondern dem
nàchsten möglichen übergeordneten Control oder Form

Der Designer ist nix Wildes:

public class MyPanelDesigner : ControlDesigner
{

protected override void PostFilterProperties(
System.Collections.IDictionary properties)
{
properties.Remove("BackColor");
properties.Remove("BorderStyle");
}

}

Ich versteh irgendwie nicht wieso sich das derartig nachteilig auf das
Panel auswirkt, wenn ich den Designer nutze.

Hat jemand eine Idee dazu?

MfG, Ulf
 

Lesen sie die antworten

#1 FrankDzaebel
02/02/2010 - 18:16 | Warnen spam
Hallo Ulf,

Wenn ich den Designer auskommentieren kann ich,
wie gewohnt, andere Controls zum Panel hinzufügen.
Wenn der Designer nicht auskommentiert ist,
werden Controls, die in der Designansicht hinzugefügt
werden nicht dem Panel zugeordnet sondern dem
nàchsten möglichen übergeordneten Control oder Form



Der WinForm-Panel benutzt den:
System.Windows.Forms.Design.PanelDesigner
als Designer (aus der System.Design.dll).
Noch genauer:

[Docking(DockingBehavior.Ask)]
[ComVisible(true)]
[Designer("System.Windows.Forms.Design.PanelDesigner, " +
"System.Design, Version=2.0.0.0, Culture=neutral, " +
"PublicKeyToken°3f5f7f11d50a3a")]
[ClassInterface(ClassInterfaceType.AutoDispatch)]
[DefaultProperty("BorderStyle")]
[DefaultEvent("Paint")]
public class Panel : ScrollableControl {...}
____________
Es ist also schon ein gutes Stück mehr,
als nur ein ControlDesigner.

Evtl. suchst Du die Ableitung über ParentControlDesigner:

[How to make a UserControl object acts as a control container design-
time by using Visual C#]
http://support.microsoft.com/kb/813450/en-us


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen