none
Projekttyp Usercontrol unter Express geht nicht RRS feed

  • Frage

  • Hallo zusammen,

    ich hatte die Gelegenheit einmal mit VST 2008 Professional zu arbeiten. Wie geht in Express: Datei -> Projekt neu -> Windows Forms Steuerelement. Heist im englischen auch Usercontrol oder ControlLibrary. Finde ich nicht.

    schöne Grüße Ellen

    sreenshot:


    Ich benutze/ I'm using VB2008 & VB2010
    Samstag, 24. Juli 2010 20:28

Antworten

  • Hallo Ellen,

    Du erinnerst Dich noch an die Geschichte mit dem Windows Steuerelement hier ?

    Damit ist es so ähnlich: Es fehlt die Vorlage dafür, die Schritte sind ohne großen Aufwand
    auch ohne diese Vorlage zu erledigen.

    • Erstelle eine Klassenbibliotheksprojekt
      der Projekttyp sollte bei Express als Vorlage existieren (auch wenn ich gerade keins installiert habe).
    • Erstelle dort ein neues Benutzersteuerelement (UserControl).
      Damit werden die benötigen Verweise (Windows.Forms.dll und System.Drawing.dll) hinzugefügt.
    • Optional: Lösche Class1.vb - wenn Du sie nicht anderweitig (nach umbenennen) verwenden willst.

    Das ist vom Prinzip alles, was die Vorlage beinhaltet.
    Dieses Projekt würde man i. a. in einer Windows-Anwendung als abhängiges Projekt einbinden.

    Gruß Elmar

    Samstag, 24. Juli 2010 21:00
  • Hallo Ellen,

    Wie bekomme ich innerhalb der Projektmappe das Usercontrol in mein Formular? (Ohne Umweg über die Toolbox)

    kannst Du bitte erläutern, wie genau Du das meinst? Normal ist der Weg über die Toolbox kein Umweg, sondern ein normales Vorgehen. Du kannst es natürlich auch zur Laufzeit per Code erstellen:

    Dim x As New MyUserControl()
    ...
    Me.Controls.Add(x)
    

    Aber ich denke Deine Frage zielt auf etwas anderes ab.


    Thorsten Dörfler
    Microsoft MVP Visual Basic
    vb-faq.de
    • Als Antwort markiert Ellen Ramcke Montag, 26. Juli 2010 11:23
    Montag, 26. Juli 2010 10:44
  • Hallo Ellen,

    auch wenn Du schon einen Weg hast, da gibt es auch noch "Export Template".

    (ich habe die englische Version)

    New Projekt -> Class Library (Name ändern in UserControl) -> OK

    (im Solution Explorer - UserControl - rechts Klick) add UserControl -> Add

    lösche Class1.vb

    Datei -> Export Template (den Sichern Dialog bejahen)

    Next -> Finish

    das war's, nun hast Du ein Template unter My Templates (wie das im deutsche angezeigt wird, weiß ich nicht)

    Projekt muss nicht gesichert werden.

    Beim nächsten Start solltest Du das Template sehen.

    Gruß 

    Reinhard

    • Als Antwort markiert Ellen Ramcke Dienstag, 27. Juli 2010 11:44
    Montag, 26. Juli 2010 16:45

Alle Antworten

  • Hallo Ellen,

    Du erinnerst Dich noch an die Geschichte mit dem Windows Steuerelement hier ?

    Damit ist es so ähnlich: Es fehlt die Vorlage dafür, die Schritte sind ohne großen Aufwand
    auch ohne diese Vorlage zu erledigen.

    • Erstelle eine Klassenbibliotheksprojekt
      der Projekttyp sollte bei Express als Vorlage existieren (auch wenn ich gerade keins installiert habe).
    • Erstelle dort ein neues Benutzersteuerelement (UserControl).
      Damit werden die benötigen Verweise (Windows.Forms.dll und System.Drawing.dll) hinzugefügt.
    • Optional: Lösche Class1.vb - wenn Du sie nicht anderweitig (nach umbenennen) verwenden willst.

    Das ist vom Prinzip alles, was die Vorlage beinhaltet.
    Dieses Projekt würde man i. a. in einer Windows-Anwendung als abhängiges Projekt einbinden.

    Gruß Elmar

    Samstag, 24. Juli 2010 21:00
  • Hallo Elmar,

    ups es geht. Das ist aber ganz schön umständlich:

    1.) Klassenprojekt neu erstellen

    2.) Windows.Forms.dll und System.Drawing.dll zum Objektkatalog hinzufügen

    3.) Dann Projektmappenexplorer -> Projekt rechte Mousetaste -> hinzufügen -> Benutzersteuerelement

    4.) UserControl1.vb ist erstellt. Lässt sich mit Formdesigner bearbeiten

    5.) class1.vb aus dem Projket wieder entfernen

    6.) Projekt speichern

    Jetzt habe ich ein neues leeres Projekt Usercontrol und kann es als "Vorlage" verwenden (mittels  Anlegen einer Kopie und Umbenennen)

    Damit hat sich das Thema professional Version erst einmal erledigt. Brauche ich nicht. Gibt es eigentlich eine detailierte Gegenüberstellung aller Funktionen der Express und prof Version?

    Vielen Dank und schöne Grüße Ellen

     

     


    Ich benutze/ I'm using VB2008 & VB2010
    Sonntag, 25. Juli 2010 12:07
  • Hallo Ellen,

    Gibt es eigentlich eine detailierte Gegenüberstellung aller Funktionen der Express und prof Version?

    ich konnte nur eine für VS2008 finden, die auch die Express Editions mit den einzelnen Editionen von Visual Studio vergleicht:

    Visual Studio 2008 Product Comparison Guide
    http://www.microsoft.com/downloads/details.aspx?FamilyID=727BCFB0-B575-47AB-9FD8-4EE067BB3A37&displaylang=en

    Für VS2010 werden nur die Visual Studio Editionen untereinander verglichen.



    Thorsten Dörfler
    Microsoft MVP Visual Basic
    vb-faq.de
    Sonntag, 25. Juli 2010 12:38
  • Hallo Ellen,

    mit dem von Dir gezeigten Weg war ich auch angefangen.
    Der dann gezeigte kürzere Weg funktioniert auch, da Visual Studio beim ersten Verweis auf ein
    UserControl - bei Form dürfte das gleiche passieren - die notwendigen Referenzen einfügt.

    Grundsätzlich gilt das für alles, was man mit dem .NET Framework entwickelt.
    Visual Studio selbst liefert dort keine zusätzlichen Features aus, sondern hilft
    nur bei der Entwicklung aus um solche Aufgaben schneller erledigen zu können.

    Hilfreich sind solche Vorlagen dann, wenn man Dutzende davon erzeugen muß,
    was in kommerziellen Projekten schon vorkommen kann, bei der privaten
    Entwicklung jedoch kaum. (Und wer so etwas sehr oft benötigt, schreibt sich
    vermutlich ein passendes Addin dafür)

    Weitere Unterschiede wären:

    So erhält man mit den Visual Studio Editionen auf alle unterstützten Sprachen
    inkl. Web-Entwicklung, wo man für Express jeweils eine eigene Umgebung
    installieren muß. Wer sich auf eine Sprache konzentriert hat davon aber nichts.

    Wenn man Datenbank-Entwicklung betreibt ist IMO die schmerzlichste Einschränkung,
    dass man mit den Express Editionen seitens der mitgelieferten Designer auf lokale
    Datenbanken beschränkt ist.
    Mit Visual Studio kann man auf SQL Server Datenbanken  im Netzwerk - sog.
    serverbasierte Datenbanken - zurückgreifen. Was im professionellen Umfeld
    wichtig ist, wo unterschiedliche Personen für die verschiedenen Bereiche zuständig sind.
    Für den privaten Gebrauch kann man sich aber auch anders behelfen.
    Zur Laufzeit spielt das aber keine Rolle mehr. Dort kann man mit .NET jede
    verfügbaren Server/Datenbank ansprechen.

    Bei den höheren Editionen kommen weitere Entwicklungsunterstützung für Office,
    Sharepoint usw. hinzu. Wer dafür nicht entwickelt wird davon wenig haben.
    Dazu benötigt man immer auch die SDKs, wie z. B.:  Windows SDK

    Anderes wie Unit-Tests, Versionskontrolle, UML wird man privat eher selten nutzen.
    Zumal es dafür auch andere Möglichkeiten gibt. Siehe dazu auch Oliver Michalskis
    Beitrag von gestern im anderen Thread.

    Gruß Elmar

    Montag, 26. Juli 2010 07:51
  • Hallo Elmar,

    ich komme hervorangend zurecht. Deinen Hinweis habe ich auch umgetzt. Eine Klasse ist nicht alleine ablauffähig. Ich habe das in Express mit einer Projektmappe bestehend aus einem main Formular und dem zu entwickelnden Steuerelement gelöst. In anderen Projekten mache ich dann einen Verweis auf die DLL, bzw. ich importiere die in die Toolbox. Das ist einfach genial! Programmieren per drag & drop und nicht - wie früher - copy & paste im Sourcecode. Nur eine Frage zum Abschluss:

    Wie bekomme ich innerhalb der Projektmappe das Usercontrol in mein Formular? (Ohne Umweg über die Toolbox)

    schöne Grüße Ellen

     

    Aufbau einer Solution zum Erstellen von Usercontrols in NET Express:

    s


    Ich benutze/ I'm using VB2008 & VB2010
    Montag, 26. Juli 2010 10:28
  • Hallo Ellen,

    Wie bekomme ich innerhalb der Projektmappe das Usercontrol in mein Formular? (Ohne Umweg über die Toolbox)

    kannst Du bitte erläutern, wie genau Du das meinst? Normal ist der Weg über die Toolbox kein Umweg, sondern ein normales Vorgehen. Du kannst es natürlich auch zur Laufzeit per Code erstellen:

    Dim x As New MyUserControl()
    ...
    Me.Controls.Add(x)
    

    Aber ich denke Deine Frage zielt auf etwas anderes ab.


    Thorsten Dörfler
    Microsoft MVP Visual Basic
    vb-faq.de
    • Als Antwort markiert Ellen Ramcke Montag, 26. Juli 2010 11:23
    Montag, 26. Juli 2010 10:44
  • Hallo Ellen,

    auch wenn Du schon einen Weg hast, da gibt es auch noch "Export Template".

    (ich habe die englische Version)

    New Projekt -> Class Library (Name ändern in UserControl) -> OK

    (im Solution Explorer - UserControl - rechts Klick) add UserControl -> Add

    lösche Class1.vb

    Datei -> Export Template (den Sichern Dialog bejahen)

    Next -> Finish

    das war's, nun hast Du ein Template unter My Templates (wie das im deutsche angezeigt wird, weiß ich nicht)

    Projekt muss nicht gesichert werden.

    Beim nächsten Start solltest Du das Template sehen.

    Gruß 

    Reinhard

    • Als Antwort markiert Ellen Ramcke Dienstag, 27. Juli 2010 11:44
    Montag, 26. Juli 2010 16:45
  • Hallo Reinhard, habe Deinen Vorschlag gleich getestet.

    auf Deutsch heist das: Datei -> Vorlage exportieren -> Projektvorlage

    Beim nächsten Öffnen eines neuen Projekts ist diese sichtbar. Das ist interessant. Geht aber anscheinend nur für ein Projekt und nicht eine Projektmappe. Ich habe die Lösung mit der Projektmappe gewählt, weil damit für das Usercontrol eine DLL und die später nicht mehr benötigte mainform ein eigenes .exe angelegt werden.

    Mit Deiner Lösung würde beides in einem Projekt assembliert werden. Wäre auch eine Lösung. Werde nachdenken.

    Danke für Deine Anwort.

    Gruß Ellen

     


    Ich benutze/ I'm using VB2008 & VB2010
    Montag, 26. Juli 2010 21:10
  • Hallo Ellen,

    Das Bild aus Deinem ersten Post in diesem Diskussionsfaden fehlt.

    Kannst Du bitte es nochmals mit dem korrekten Hyperlink pflegen?

    Danke und Grüße,

    Robert

    Dienstag, 27. Juli 2010 14:30
  • hallo Reinhard,

    deinen Tip mit dem Template habe ich nun mehrfach unter Visual Basic Express 2010 versucht, leider ohne Erfolg.

    Ich kann ein Class Library Projekt erzeugen, dort eine UserControl einfügen, die ClassLibrary1.vb löschen und es geht. Auch ein Template lässt sich davon wunderbar exportieren und wird angezeigt.

    Wenn ich nun aber das Template nutze um ein neues UserControl-Projekt zu erzeugen, kann ich den Designer für die UserControl nicht öffnen und bekomme einen Fehler, irgendwas von wegen die Klasse enthalte kein Objekt das für den Designer geeignet ist...

    Ich bin blutiger Anfänger und konnte leider damit gar nichts anfangen bzw. habe nicht herausfinden können woran es scheitert bzw. wie der Fehler zu beheben wäre.

    Heißt: von Hand so ein Projekt erzeugen scheint wunderbar zu klappen, aber ein daraus erzeugtes Template funktioniert nicht / erzeugt ein "kaputtes" Projekt.

    Gruß

    Dominik

    Donnerstag, 22. Dezember 2011 11:41