Dynamic TapPage die 6.372te

09/04/2010 - 11:56 von Jan Waiz | Report spam
Hallo zusammen,

beim Googlen zu meinem konkreten Problem konnte ich feststellen, das schon
viele auf selbiges gestoßen sind - aber eine befriedigende Lösung hat sich
wohl noch nicht gefunden:

Ich möchte diverse TabPages designen und diese zur Laufzeit einem TabControl
hinzufügen. Klingt doch einfach, oder? Nun - das Hinzufügen einer TabPage
ist in der Tat kein Problem. Aber:

=> Erzeuge ich eine neue Klasse die ich direkt von der Klasse TabPage
ableite, dann funktioniert funktioniert der Designer im Visual Studio (2008)
nicht.

=> Verwende ich stattdessen ein UserControl (das auf einer TabPage reitet),
dann kann ich zwar prima designen, aber das DataBinding ist dann alles
andere als trivial und mit viel Handarbeit verbunden. Zumindest habe ich
keine halbwegs einfache Lösung gefunden - von einem schlichten DataSource
ganz abgesehen.

=> Nun könnte man auf die Idee kommen, alle erforderlichen TabPages im
TabControl zu designen und diese entsprechend hiden oder anzeigen - aber ich
möchte beliebig viele TabPages der selben Verwendung anzeigen - und
ausserdem wàre diese Vorgehen schon recht stümperhaft :-)

Hat jemand eine Idee/Lösung parat ?

tia
 

Lesen sie die antworten

#1 Frank Dzaebel
09/04/2010 - 19:27 | Warnen spam
Hallo Jan,

=> Erzeuge ich eine neue Klasse die ich direkt von der Klasse TabPage
ableite, dann funktioniert funktioniert der Designer im Visual Studio
(2008) nicht.



Du musst dann nur den gewünschten Designer als Attribute
vor die neue TabPage-Klasse (hier MyTabPage) schrieben.
Etwa:

[Designer("System.Windows.Forms.Design.TabPageDesigner, " +
"System.Design, Version=2.0.0.0, Culture=neutral, " +
"PublicKeyToken°3f5f7f11d50a3a")]
[DefaultProperty("Text"), ComVisible(true)]
[ClassInterface(ClassInterfaceType.AutoDispatch)]
[ToolboxItem(false), DesignTimeVisible(false)]
[DefaultEvent("Click")]
public class MyTabPage : TabPage
{
// ...
}

Du hast ja mehrere Fragen ... ich denke, wir machen
das mal Step by Step hintereinander.


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

Ähnliche fragen