Benutzer mit den meisten Antworten
Projekttyp Usercontrol unter Express geht nicht

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- Bearbeitet Ellen Ramcke Mittwoch, 2. Mai 2012 09:21
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
- Als Antwort vorgeschlagen Thorsten Dörfler Sonntag, 25. Juli 2010 09:14
- Als Antwort markiert Ellen Ramcke Sonntag, 25. Juli 2010 12:46
- Erstelle eine Klassenbibliotheksprojekt
-
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
-
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
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
- Als Antwort vorgeschlagen Thorsten Dörfler Sonntag, 25. Juli 2010 09:14
- Als Antwort markiert Ellen Ramcke Sonntag, 25. Juli 2010 12:46
- Erstelle eine Klassenbibliotheksprojekt
-
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 -
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 -
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 SDKAnderes 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
-
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:
Ich benutze/ I'm using VB2008 & VB2010 -
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
-
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
-
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 -
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