Dies sind drei verschiedene Dinge, die Sie einem Projekt hinzufügen können, und ich bin mir nicht ganz sicher, ob ich den Unterschied verstehe. Sie scheinen zum Beispiel alle in der Komponenten-Toolbox zu erscheinen, wenn Sie mit a arbeiten Form
. Was sind einige gängige Verwendungsszenarien für jedes von ihnen? Was ist der Unterschied?
c#
winforms
controls
components
Svish
quelle
quelle
UserControl
wirklich ein "zusammengesetztes" Steuerelement ist (ein Steuerelement, das aus anderen Steuerelementen besteht), während ein benutzerdefiniertes Steuerelement wirklich ein benutzerdefiniertes Steuerelement ist.UserControl
?Zusätzlich zu den Aussagen von Fredrik werden im Allgemeinen Komponenten und benutzerdefinierte Steuerelemente verwendet, wenn Sie sie projektübergreifend wiederverwenden möchten. Verwenden Sie Benutzersteuerelemente, wenn Sie sie nur in einem Projekt verwenden würden.
quelle
Ich glaube, die letzte Aussage ist meiner Meinung nach nicht richtig. Ich erstelle Benutzersteuerelemente aus vielen verschiedenen Gründen.
Der Hauptgrund ist, dass ich, wenn ich sage, eine Schnittstelle aus mehreren Steuerelementen entwerfe, die zusammen gruppiert sind.
Ich erstelle zuerst eine Klassenbibliothek und füge dann Benutzersteuerelemente hinzu. Wenn ich jetzt einen Teil der Logik ändern muss, die hinter der Funktionsweise der Benutzersteuerung steht, kann ich dies sehr einfach tun. Auch diese Klassenbibliothek kann mehrfach verwendet werden.
Außerdem kann ich innerhalb derselben Klassenbibliothek mehrere Klassen haben, die gemeinsam genutzt und für jedes meiner Benutzersteuerelemente verwendet werden können.
Dies ist der Hauptgrund, warum ich Benutzersteuerelemente verwende. Und wenn Sie Änderungen an Ihrem Benutzersteuerelement oder Ihrer Klassenbibliothek vornehmen. Sobald Sie den Job aufgebaut haben. Die DLL wird dynamisch im Ordner bin aktualisiert.
Wenn ich dies in einem anderen Projekt referenziere, werden diese Änderungen auch in einem neuen Projekt angezeigt.
Außerdem werden nicht die gleichen Malroutinen wie das Formular und alles, was Sie in das Formular geladen haben, verwendet.
Benutzersteuerelemente bieten uns die Möglichkeit, sehr modular zu sein. Außerdem können mehrere Benutzersteuerelemente verwendet werden, die die Basisklassen der Klassenbibliothek gemeinsam nutzen. Ein Benutzersteuerungszweck ist also nicht nur für ein Projekt bestimmt. Diesbezüglich gibt es keine Einschränkungen. Jeff
quelle
Der Hauptunterschied zwischen ihnen - Benutzersteuerung - ist eine Auslagerungsdatei mit der Erweiterung .ascx, die nur innerhalb einer einzelnen Anwendung oder eines Projekts verwendet werden kann. Benutzerdefinierte Steuerelemente sind jedoch Assemblys (DLL-Dateien), die in mehreren Anwendungen verwendet werden können.
quelle