Exemplarische Vorgehensweise: Erstellen eines Windows Form-Toolbox-Steuerelement
Die Windows Form-Toolbox-Steuerelementvorlage, die in Visual Studio 2010 SDK enthalten ist, können Sie ein Steuerelement erstellen, das Toolboxautomatisch hinzugefügt wird, wenn die Erweiterung installiert ist. In dieser exemplarischen Vorgehensweise wird veranschaulicht, wie mithilfe der Vorlage verwendet, um eine Zählersteuerung zu erstellen, die an andere Benutzer verteilen können.
Vorbereitungsmaßnahmen
Zum Abschließen dieser exemplarischen Vorgehensweise müssen Sie Visual Studio 2010 SDKinstallieren.
Hinweis
Weitere Informationen über das Visual Studio-SDK finden Sie unter Erweitern von Visual Studio Overview.Um herauszufinden finden Sie unter wie das Visual Studio-SDK, auf Visual Studio Extensibility Developer Center der MSDN-Website herunterlädt.
Die Windows Form-Toolbox-Steuerelementvorlage Suchen in Visual Studio
Die Windows Form-Toolbox-Steuerelementvorlage befindet sich im Dialogfeld Neues Projekt unter Installierte Vorlagen, in diesen Positionen verfügbar:
Visual Basic, Erweiterungen. Die Sprache des Projekts ist Visual Basic.
Visual C#, Erweiterungen. Die Sprache des Projekts ist C#.
Erstellen eines Windows Form-Toolbox-Steuerelementprojekt
Die Windows Form-Toolbox-Steuerelementvorlage erstellt ein nicht definiertes Benutzersteuerelement und stellt alle Funktionen, die erforderlich ist, um das Steuerelement Toolboxhinzuzufügen.
So erstellen Sie das Projekt
Klicken Sie im Menü Datei auf Neu und dann auf Projekt.
Im Dialogfeld Neues Projekt unter Installierte Vorlagen, erweitern Sie den Knoten für die bevorzugte Programmiersprache aus. Wählen Sie anschließend Erweiterungenaus. Klicken Sie in der Liste der Projekttypen die Option Windows Forms-Toolbox-Steuerelement.
Geben Sie im Feld Name Geben Sie den Namen ein, den Sie für das Projekt verwenden möchten. (Diese exemplarische Vorgehensweise verwendet den Namen Indikator). Klicken Sie auf OK.
Dadurch wird eine Projektmappe, die ein Benutzersteuerelement ein Attribut enthält, um das Steuerelement in Toolboxzu platzieren und ein VSIX-Manifest für die Bereitstellung. Die Name Guckkastenbühnen der Name der Projektmappe und der Name des Namespaces, sondern legen den Namen des Steuerelements fest, wenn es in Toolboxangezeigt wird. Sie legen das später in der exemplarischen Vorgehensweise fest.
Eine Benutzeroberfläche für das Steuerelement erstellen
Das Indikator-Steuerelement erfordert zwei untergeordnete Steuerelemente: Label , wenn die aktuelle Anzahl anzuzeigen und Button , um die Anzahl auf 0 zurückgesetzt werden soll. Es werden keine anderen untergeordneten Steuerelemente sind erforderlich, da er programmgesteuert des Indikators erhöht wird.
So erstellen Sie die Benutzeroberfläche
In Projektmappen-ExplorerDoppelklick ToolboxControl.cs, um sie im Designer zu öffnen.
Von Toolboxziehen Sie ein Bezeichnung-Steuerelement auf die Entwurfsoberfläche.
Ändern Sie das Benutzersteuerelement 150 x 50 Pixel und ändern Sie die Größe der Schaltfläche Größe von 50 x 20 Pixel.
Legen Sie im Fenster Eigenschaften die folgenden Werte für die Steuerelemente auf der Entwurfsoberfläche ab.
Steuerelement
Property
Wert
Label1
Text
""
Button1
Name
btnReset
Button1
Text
Zurücksetzen
Das Benutzersteuerelement Codieren
Das Indikator-Steuerelement macht eine Methode, um den Indikator, ein Ereignis ausgelöst, sobald sich der Zähler erhöht wird, eine Zurücksetzen Schaltfläche und drei Eigenschaften zu erhöhen, um die aktuelle Anzahl, den Anzeigetext zu speichern, und ob die Zurücksetzen Schaltfläche angezeigt oder ausgeblendet wird. Das ProvideTolboxControl-Attribut bestimmt, wo in Toolbox das Indikator-Steuerelement angezeigt wird.
Wenn das Benutzersteuerelement Code
Doppelklicken Sie auf das Formular, um den Ladeereignis Handler im Codefenster zu öffnen.
Neben dem Ereignishandler erstellen Sie eine ganze Zahl, die den Zählerwert und eine Zeichenfolge zu speichern, um den Anzeigetext, wie im folgenden Beispiel gezeigt zu speichern.
int currentValue; string displayText;
Erstellen Sie die folgenden Deklarationen der öffentlichen Eigenschaft.
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 diese Eigenschaften zugreifen, um den Anzeigetext des Zählers abgerufen und festgelegt, und die Zurücksetzen Schaltfläche anzuzeigen oder auszublenden. Aufrufer können den aktuellen Wert der schreibgeschützten Eigenschaft Value , sie können aber nicht den Wert direkt festlegen.
Geben Sie den folgenden Code in das Load-Ereignis für das Steuerelement.
private void ToolboxControl_Load(object sender, EventArgs e) { currentValue = 0; label1.Text = Message + Value; }
Durch Festlegen des Bezeichnung im Linktext Load-Ereignis ermöglicht die Zieleigenschaften, die geladen werden sollen, bevor ihre Werte angewendet werden. Durch Festlegen des Bezeichnung Linktext im Konstruktor wäre eine leere Beschriftung führen.
Erstellen Sie die folgende öffentliche Methode, um den Zähler erhöht wird.
public void Increment() { currentValue++; label1.Text = displayText + Value; Incremented(this, EventArgs.Empty); }
Fügen Sie eine Deklaration für das Ereignis Incremented hinzu.
public event EventHandler Incremented;
Aufrufer können Handler dieses Ereignisses hinzu, um auf Änderungen im Wert des Indikators zu reagieren.
Kehren Sie zur Entwurfsansicht zurück, und doppelklicken Sie auf die Zurücksetzen Schaltfläche, um den Ereignishandler zu generieren btnReset_Click , und füllen Sie sie wie im folgenden Beispiel gezeigt aus.
private void btnReset_Click(object sender, EventArgs e) { currentValue = 0; label1.Text = displayText + Value; }
Geben Sie in der Klassendefinition ändern, klicken Sie mit der rechten Maustaste auf den Klassennamen UmgestaltenUmbenennen, und klicken Sie dann auf den Namen der Klasse Indikator. Dies ist der Name, der in Toolboxangezeigt wird.
Fügen Sie direkt oberhalb der Klassendefinition in der ProvideToolboxControl-Attributdeklaration, Änderung der Wert des ersten Parameters aus "Counter" an "General". Dies legt den Namen fest, die der Elementgruppe Hosten des Steuerelements in Toolboxwird.
Im folgenden Beispiel wird das ProvideToolboxControl-Attribut und die angepasste Klassendefinition.
[ProvideToolboxControl("General", false)] public partial class Counter : UserControl
Im folgenden Beispiel wird der vollständige Code für das Benutzersteuerelement.
using System; using System.Windows.Forms; namespace Counter { [ProvideToolboxControl("General", false)] public partial class Counter : UserControl { public Counter() { InitializeComponent(); } private void btnReset_Click(object sender, EventArgs e) { currentValue = 0; label1.Text = displayText + Value; } int currentValue; string displayText; 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; } } private void ToolboxControl_Load(object sender, EventArgs e) { currentValue = 0; label1.Text = Message + Value; } public void Increment() { currentValue++; label1.Text = displayText + Value; Incremented(this, EventArgs.Empty); } public event EventHandler Incremented; } }
Testen des Steuerelements
So erstellen Sie ein Steuerelement, Toolbox einen ersten Test testen es in der Entwicklungsumgebung und in einer kompilierten Anwendung dann testen.
So testen Sie das Steuerelement
Drücken Sie F5.
Dies erstellt das Projekt und öffnet eine zweite Instanz von Visual Studio, das das installierte Steuerelement verfügt.
In der neuen Instanz von Visual Studio, erstellen Sie ein Windows Forms-Projekt.
In Projektmappen-ExplorerDoppelklicken Sie auf Form1.cs, um sie im Designer zu öffnen.
In Toolboxsollte das Indikator-Steuerelement im Allgemein-Abschnitt angezeigt werden.
Ziehen Sie ein Indikator-Steuerelement auf das Formular, und wählen Sie ihn dann aus. Value, Messageund ShowReset-Eigenschaften werden im Fenster Eigenschaften zusammen mit den Eigenschaften angezeigt, die von UserControlvererbt werden.
Legen Sie die Eigenschaft auf Number:Message fest.
Ziehen Sie ein Button-Steuerelement auf das Formular, und legen Sie den Namen und simsen Sie Eigenschaften der Schaltfläche auf Test.
Doppelklicken Sie auf die Schaltfläche, um auf Form1.cs in der Codeansicht zu öffnen, und klicken Sie auf einen Ereignishandler zu erstellen.
Klicken Sie für Aufruf counter1.Increment().
Klicken Sie in der Konstruktorfunktion drücken nach dem Aufruf von InitializeComponentCounter1Typ.+= Inkrementiertes und dann zweimal die TAB-TASTE.
Visual Studio generiert ein Formular LEVEL-Handler für das Counter1.Incremented-Ereignis.
Markieren Sie den Handler im Fall von Throw-Anweisung hervor, geben Sie mboxein, und drücken Sie dann die TAB-TASTE zweimal, um ein Meldungsfeld vom mbox Codeausschnitt zu generieren.
Wählen Sie auf der nächsten Zeile fügen Sie folgenden ifelse /Block hinzu, um die Sichtbarkeit der Zurücksetzen Schaltfläche festzulegen.
if (counter1.Value < 5) counter1.ShowReset = false; else counter1.ShowReset = true;
Drücken Sie F5.
Das Formular wird geöffnet. Das Indikator-Steuerelement zeigt den folgenden Text an.
Number: 0
Klicken Sie auf Test.
Die Zähler Inkremente und das Visual Studio zeigt ein Meldungsfeld an.
Schließen Sie das Meldungsfeld.
Die Zurücksetzen Schaltfläche ausgeblendet.
Klicken Sie auf Test , bis der Zähler 5erreicht, und schließen Sie das Meldungsfeld.
Die Zurücksetzen Schaltfläche wird erneut angezeigt.
Klicken Sie auf Zurücksetzen.
Die Zählerrückstellungen zu 0.
Nächste Schritte
Wenn Sie ein Toolbox-Steuerelement erstellen, erstellt Visual Studio eine Datei, die ProjectName.vsix im Verzeichnis \ Bin \ Debug \ mit Ordnern des Projekts. Sie können das Steuerelement bereitstellen, indem Sie die VSIX-Datei in einem Netzwerk oder auf einer Website hochladen. Wenn ein Benutzer die VSIX-Datei öffnet, wird das Steuerelement an Visual Studio Toolbox auf dem Computer des Benutzers installiert und dem Projektmappen-Explorer hinzugefügt. Alternativ können Sie die VSIX-Datei zur Visual Studio Gallery Website hochladen, sodass Benutzer diese finden können, indem Sie in Erweiterungs-Managerdurchsuchen.
Siehe auch
Aufgaben
Exemplarische Vorgehensweise: Ein WPF Toolbox-Steuerelement erstellen
Konzepte
Grundlagen für das Entwickeln von Windows Forms-Steuerelementen