Freigeben über


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

  1. Klicken Sie im Menü Datei auf Neu und dann auf Projekt.

  2. 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.

  3. 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

  1. In Projektmappen-ExplorerDoppelklick ToolboxControl.cs, um sie im Designer zu öffnen.

  2. Von Toolboxziehen Sie ein Bezeichnung-Steuerelement auf die Entwurfsoberfläche.

  3. Ändern Sie das Benutzersteuerelement 150 x 50 Pixel und ändern Sie die Größe der Schaltfläche Größe von 50 x 20 Pixel.

  4. 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

  1. Doppelklicken Sie auf das Formular, um den Ladeereignis Handler im Codefenster zu öffnen.

  2. 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;
    
  3. 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.

  4. 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.

  5. 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);
    }
    
  6. 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.

  7. 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;
    }
    
  8. 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.

  9. 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

  1. Drücken Sie F5.

    Dies erstellt das Projekt und öffnet eine zweite Instanz von Visual Studio, das das installierte Steuerelement verfügt.

  2. In der neuen Instanz von Visual Studio, erstellen Sie ein Windows Forms-Projekt.

  3. In Projektmappen-ExplorerDoppelklicken Sie auf Form1.cs, um sie im Designer zu öffnen.

  4. In Toolboxsollte das Indikator-Steuerelement im Allgemein-Abschnitt angezeigt werden.

  5. 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.

  6. Legen Sie die Eigenschaft auf Number:Message fest.

  7. Ziehen Sie ein Button-Steuerelement auf das Formular, und legen Sie den Namen und simsen Sie Eigenschaften der Schaltfläche auf Test.

  8. Doppelklicken Sie auf die Schaltfläche, um auf Form1.cs in der Codeansicht zu öffnen, und klicken Sie auf einen Ereignishandler zu erstellen.

  9. Klicken Sie für Aufruf counter1.Increment().

  10. 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.

  11. 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.

  12. 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;
    
  13. Drücken Sie F5.

    Das Formular wird geöffnet. Das Indikator-Steuerelement zeigt den folgenden Text an.

    Number: 0

  14. Klicken Sie auf Test.

    Die Zähler Inkremente und das Visual Studio zeigt ein Meldungsfeld an.

  15. Schließen Sie das Meldungsfeld.

    Die Zurücksetzen Schaltfläche ausgeblendet.

  16. Klicken Sie auf Test , bis der Zähler 5erreicht, und schließen Sie das Meldungsfeld.

    Die Zurücksetzen Schaltfläche wird erneut angezeigt.

  17. 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

Weitere Ressourcen

Toolbox (Visual Studio SDK)

Benutzeroberflächen