none
Vererben von Steuerelementen RRS feed

  • Frage

  • Hallo Usergemeinde,

    habe ein großes Problem.

    Ich möchte das LineShape Steuerelement von Microsoft.VisualBasic.PowerPacks als benutzerdefiniertes Steuerelement erstellen. Habe auf den Seiten von Microsoft ein Super Beispiel gefunden --> "Exemplarische Vorgehensweise: Vererben von einem Windows-Forms-Steuerelement mit Visual C#"

    Allerdings wird hier "nur" beschrieben wie ein Button vererbt wird, hat aber wunderbar geklappt. Anstelle des Buttons habe ich dann das LineShape vererbt und es funktionierte nicht. Visual Studio 2010 hat nicht mal die Windows-Forms-Steuerelementenbibliothek angezeigt geschweige denn das LineShape.

    Um es kurz zu machen: Mein Ziel ist es später einmal das LineShape-Steuerelement in der UserForm von MS-Excel verfügbar zu machen, da es dort solch ein Control nicht gibt.

    Kann mir da jemand weiterhelfen?

    Dienstag, 14. Februar 2012 14:21

Alle Antworten

  • Hi igel81,

    Sie schreiben, dass Sie das Beispiel aus "Exemplarische Vorgehensweise: Vererben von einem Windows-Forms-Steuerelement mit Visual C#" [1] benutzt haben und mit dem anderem Steuerelement hat es nicht funktioniert. In der MSDN-Bibliothek finden Sie auch ein Artikel zur "Exemplarische Vorgehensweise: Vererben von einem Windows-Forms-Steuerelement mit Visual Basic" [2]. Versuchen Sie mit Hilfe der zweiten Vorgehensweise Ihr Problem zu lösen, da es ein paar Unterschiede zu der ersten Vorgehensweise aufweist.

    [1] http://msdn.microsoft.com/de-de/library/5h0k2e6x(v=vs.80).aspx
    [2] http://msdn.microsoft.com/de-de/library/w2a8y03d(v=vs.80).aspx

    Viele Grüße,
    Anna Koch
    MSDN Hotline für MSDN Online Deutschland

    Disclaimer:
    Bitte haben Sie Verständnis dafür, dass wir hier auf Rückfragen gar nicht oder nur sehr zeitverzögert antworten können.
    Bitte nutzen Sie für Rückfragen oder neue Fragen den telefonischen Weg über die MSDN Hotline:http://www.msdn-online.de/Hotline
    MSDN Hotline: Schnelle & kompetente Hilfe für Entwickler: kostenfrei!

    Es gelten für die MSDN Hotline und dieses Posting dieseNutzungsbedingungen, Hinweise zuMarkenzeichen sowie die allgemein gültigenInformationen zur Datensicherheit sowie die gesondertenNutzungsbedingungen für die MSDN Hotline.

     
    Freitag, 17. Februar 2012 14:37
  • Hallo Anna,

    danke erst einemal für Ihre Antwort. Bin Froh das es jemanden gibt der sich die Zeit nimmt zu antworten.

    Allerdings muss ich Ihnen sagen das ich auch diese beiden Beispiele schon ausprobiert habe, beide mit negativen Erfolg.

    Ich möchte noch einmal deutlich betonen: bei dem Steuerelement welches ich vererben möchte handelt es sich um das LineShape aus den Microsoft.VisualBasic.PowerPacks.

    Ich würde es in VisualBasic als auch in C# programmieren.

    Ich habe die Befürchtung das der ShapeContainer das Problem ist, kann mich aber auch völlig irren.

    Wenn ich die Beispiele von Microsoft so ausgefüht habe wie es in der Anleitung steht, hat alles wunderbar funktioniert. Ich habe dann an Stelle des Button einfach LineShape verwendet:

    Beispiel von Microsoft:

    public partial class MeShape : Button
    {
         public MeShape()
         {
               InitializeComponent();
         }
         .........

    Mein Beispiel:

    public partial class MeShape : LineShape
    {
         public MeShape()
         {
               InitializeComponent();
         }
         .........

    Es gibt bei meinem Beispiel weder eine Fehlermeldung noch eine Warnung, aber:

    Bei dem Microsoft-Beispiel blendet sich nach dem erstellen in der Toolbox eine Registerkarte mit dem Button-Steuerelement ein und ich kann diesen auch benutzen.

    Bei meinem Beispiel verschwindet das Register in der Toolbox wieder und habe somit kein Zugriff auf mein verebtes Steuerelement.

    Habe ich irgend etwas vergessen oder nicht beachtet?

    Samstag, 18. Februar 2012 15:02