Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Mit der Windows Forms-Toolbox-Steuerelementelementvorlage, die in den Visual Studio-Erweiterbarkeitstools (VSSDK) enthalten ist, können Sie ein Toolbox- Steuerelement erstellen, das automatisch hinzugefügt wird, wenn die Erweiterung installiert wird. In dieser exemplarischen Vorgehensweise wird gezeigt, wie Sie mithilfe der Vorlage ein einfaches Zählersteuerelement erstellen, das Sie an andere Benutzer verteilen können.
Erstellen des Toolbox-Steuerelements
Die Windows Forms-Toolbox-Steuerelementvorlage erstellt ein undefiniertes Benutzersteuerelement und stellt alle Funktionen bereit, die zum Hinzufügen des Steuerelements zur Toolbox-erforderlich sind.
Erstellen einer Erweiterung mit einem Windows Forms Toolbox-Steuerelement
Erstellen Sie ein VSIX-Projekt mit dem Namen
MyWinFormsControl. Sie finden die VSIX-Projektvorlage im Dialogfeld Neues Projekt, indem Sie nach "vsix" suchen.Wenn das Projekt geöffnet wird, fügen Sie eine Windows Forms Toolbox Control Elementvorlage namens
Counterhinzu. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Projektknoten, und wählen Sie Hinzufügen>Neues Element aus. Wechseln Sie im Dialogfeld "Neues Element hinzufügen" zu Visual C#>Erweiterbarkeit und wählen Sie Windows Forms-Werkzeugkastensteuerung.Dadurch wird ein Benutzersteuerelement, eine
ProvideToolboxControlAttributeRegistrationAttribute hinzugefügt, um das Steuerelement in der Toolboxund einen Microsoft.VisualStudio.ToolboxControl-Ressourceneintrag im VSIX-Manifest für die Bereitstellung zu platzieren.
Erstellen einer Benutzeroberfläche für das Steuerelement
Das Counter-Steuerelement erfordert zwei untergeordnete Steuerelemente: eine Label zum Anzeigen der aktuellen Anzahl und ein Button, um die Anzahl auf 0 zurückzusetzen. Es sind keine weiteren untergeordneten Steuerelemente erforderlich, da der Zählerwert von den Aufrufern programmgesteuert erhöht wird.
So erstellen Sie die Benutzeroberfläche
Doppelklicken Sie im Lösungsexplorerauf Counter.cs, um ihn im Designer zu öffnen.
Entfernen Sie die Schaltfläche Klicken Sie hier!, die standardmäßig enthalten ist, wenn Sie die Vorlage für das Windows-Forms-Toolbox-Steuerelement hinzufügen.
Ziehen Sie aus der Toolbox ein
Label-Steuerelement und dann einButton-Steuerelement auf die Entwurfsoberfläche.Ändern Sie die Größe des Benutzersteuerelements auf 150, 50 Pixel, und ändern Sie die Größe des Schaltflächensteuerelements auf 50, 20 Pixel.
Legen Sie im Fenster Eigenschaften die folgenden Werte für die Steuerelemente auf der Entwurfsoberfläche fest.
Steuerung Eigentum Wert Label1Text "" Button1Name btnReset Button1Text Zurücksetzen
Benutzersteuerelement programmieren
Das Counter -Steuerelement macht folgende Elemente verfügbar: eine Methode zum Erhöhen des Zählerwerts, ein Ereignis, das immer dann ausgelöst wird, wenn der Zählerwert erhöht wird, eine Zurücksetzen-Schaltfläche sowie drei Eigenschaften, mit denen die aktuelle Anzahl und der Anzeigetext gespeichert werden bzw. festgelegt wird, ob die Zurücksetzen-Schaltfläche ein- oder ausgeblendet wird. Das attribut ProvideToolboxControl bestimmt, wo in der Toolbox das Counter-Steuerelement angezeigt wird.
So codieren Sie das Benutzersteuerelement
Doppelklicken Sie auf das Formular, um den zugehörigen Ladeereignishandler im Codefenster zu öffnen.
Über der Ereignishandlermethode erstellen Sie in der Steuerelementklasse eine ganze Zahl, um den Zählerwert und eine Zeichenfolge zum Speichern des Anzeigetexts zu speichern, wie im folgenden Beispiel gezeigt.
int currentValue; string displayText;Erstellen Sie die folgenden öffentlichen Eigenschaftserklärungen.
public int Value { get { return currentValue; } } public string Message { get { return displayText; } set { displayText = value; } } public bool ShowReset { get { return btnReset.Visible; } set { btnReset.Visible = value; } }Aufrufer können auf diese Eigenschaften zugreifen, um den Anzeigetext des Zählers abzurufen und festzulegen und die Schaltfläche zurücksetzen ein- oder auszublenden. Aufrufer können den aktuellen Wert der schreibgeschützten
Value-Eigenschaft abrufen, aber sie können den Wert nicht direkt festlegen.Platzieren Sie den folgenden Code im
Load-Ereignis für das Steuerelement.private void Counter_Load(object sender, EventArgs e) { currentValue = 0; label1.Text = Message + Value; }Durch Festlegen des Label-Texts im Load-Ereignis können die Zieleigenschaften geladen werden, bevor ihre Werte angewendet werden. Das Festlegen des Texts für Label im Konstruktor würde zu einem leeren Label führen.
Erstellen Sie die folgende öffentliche Methode, um den Zähler zu erhöhen.
public void Increment() { currentValue++; label1.Text = displayText + Value; Incremented(this, EventArgs.Empty); }Fügen Sie der Steuerelementklasse eine Deklaration für das
Incremented-Ereignis hinzu.public event EventHandler Incremented;Aufrufer können diesem Ereignis Handler hinzufügen, um auf Änderungen am Wert des Zählers zu reagieren.
Kehren Sie zur Entwurfsansicht zurück, und doppelklicken Sie auf die Schaltfläche Zurücksetzen, um den Ereignishandler
btnReset_Clickzu generieren. Füllen Sie es dann wie im folgenden Beispiel gezeigt aus.private void btnReset_Click(object sender, EventArgs e) { currentValue = 0; label1.Text = displayText + Value; }Ändern Sie unmittelbar über der Klassendefinition in der
ProvideToolboxControlAttributdeklaration den Wert des ersten Parameters von"MyWinFormsControl.Counter"in"General". Dadurch wird der Name der Elementgruppe festgelegt, die das Steuerelement in der Toolbox-hosten soll.Das folgende Beispiel zeigt das
ProvideToolboxControl-Attribut und die angepasste Klassendefinition.[ProvideToolboxControl("General", false)] public partial class Counter : UserControl
Testen des Steuerelements
Um ein Toolbox--Steuerelement zu testen, testen Sie es zuerst in der Entwicklungsumgebung, und testen Sie es dann in einer kompilierten Anwendung.
So testen Sie das Steuerelement
Drücken Sie die Taste F5, um mit dem Debuggen zu beginnen.
Dieser Befehl erstellt das Projekt und öffnet eine zweite experimentelle Instanz von Visual Studio, die das Steuerelement installiert hat.
Erstellen Sie in der experimentellen Instanz von Visual Studio ein Windows Forms-Anwendungsprojekt.
Doppelklicken Sie im Projektmappen-Explorerauf Form1.cs, um sie im Designer zu öffnen, wenn sie noch nicht geöffnet ist.
In der Toolbox sollte das
Counter-Steuerelement im Abschnitt Allgemein angezeigt werden.Ziehen Sie ein
Counter-Steuerelement auf Ihr Formular, und wählen Sie dieses aus. Die EigenschaftenValue,MessageundShowResetwerden im Fenster Eigenschaften angezeigt, zusammen mit den Eigenschaften, die von UserControlgeerbt werden.Legen Sie die
Message-Eigenschaft aufCount:fest.Ziehen Sie ein Button-Steuerelement auf das Formular, und legen Sie dann den Namen und die Texteigenschaften der Schaltfläche auf
Testfest.Doppelklicken Sie auf die Schaltfläche, um Form1.cs in der Codeansicht zu öffnen und einen Klickhandler zu erstellen.
Rufen Sie im Click-Handler
counter1.Increment()auf.Geben Sie in der Konstruktorfunktion nach dem Aufruf von
InitializeComponentcounter1``.``Incremented +=ein, und drücken Sie dann zweimal TAB-.Visual Studio generiert einen Handler auf Formularebene für das
counter1.Incremented-Ereignis.Markieren Sie die
Throw-Anweisung im Ereignishandler, geben Siemboxein, und drücken Sie dann zweimal Tab, um ein Nachrichtenfeld aus dem Codeausschnitt „mbox“ zu generieren.Fügen Sie in der nächsten Zeile den folgenden
if/elseBlock hinzu, um die Sichtbarkeit der Schaltfläche Zurücksetzen festzulegen.if (counter1.Value < 5) counter1.ShowReset = false; else counter1.ShowReset = true;Drücken Sie F5.
Das Formular wird geöffnet. Das
Counter-Steuerelement zeigt den folgenden Text an.Anzahl: 0
Wählen Sie Test aus.
Der Zähler wird erhöht und Visual Studio zeigt ein Meldungsfeld an.
Schließen Sie das Meldungsfeld.
Die Schaltfläche Zurücksetzen verschwindet.
Wählen Sie Test aus, bis der Zähler 5 erreicht, und schließen Sie dabei jedes Mal die Nachrichtenfelder.
Die Schaltfläche Zurücksetzen wird erneut angezeigt.
Wählen Sie Zurücksetzen aus.
Der Zähler wird auf 0zurückgesetzt.
Nächste Schritte
Wenn Sie ein Toolbox--Steuerelement erstellen, erstellt Visual Studio eine Datei mit dem Namen ProjectName.vsix im Ordner \bin\debug\ Ihres Projekts. Sie können das Steuerelement bereitstellen, indem Sie die .vsix--Datei in ein Netzwerk oder auf eine Website hochladen. Wenn ein Benutzer die VSIX--Datei öffnet, wird das Steuerelement installiert und dem Visual Studio Werkzeugkasten auf dem Computer des Benutzers hinzugefügt. Alternativ können Sie die VSIX--Datei in Visual Studio Marketplace- hochladen, damit Benutzer sie finden können, indem Sie im Dialogfeld Tools>Erweiterungen und Updates suchen.