Benutzerdefinierte Control Development

Dieser Dokumentation für die Vorschau nur ist und in späteren Versionen geändert. Leere Themen wurden als Platzhalter eingefügt.]

Der .NET Compact Framework bietet Windows Forms-Steuerelemente, die die Anforderungen für die meisten Geräteprojekte erfüllen können. Diese Steuerelemente dienen zur Verwendung eingeschränkt Ressourcen effizient und aus diesem Grund bieten keine Unterstützung zum alle geerbten Eigenschaften, Methoden und Ereignisse. Um fehlende Funktionalität zu erfüllen, können Sie eigene benutzerdefinierte Steuerelemente von allgemeinen Steuerelementen ableiten. Durch definieren einen öffentlichen Typ, der von der Control -Klasse oder von einer vorhandenen UserControl in Ihrer Assembly erbt, kann ein benutzerdefiniertes Steuerelement erstellt werden.

Die einfachste Steuerelement Anpassung ist eine Methode für ein allgemeines Steuerelement überschreiben. Beispielsweise können Sie die geerbten OnKeyPress -Methode für ein Steuerelement TextBox, um Code bereitzustellen, die Eingabe, nur numerische Zeichen beschränkt überschreiben.

Hinweis

.NET Compact Framework unterstützt nicht alle Eigenschaften, Methoden und Ereignisse für Windows Forms-Steuerelemente, die von Ihrer Basissteuerelementen geerbt wurden.

Sie können von allgemeinen Steuerelementen zu ableiten:

  • Überschreiben Sie Ihre eigenen Eigenschaften, Methoden und Ereignisse für allgemeine Steuerelemente.

  • Definieren Sie zusätzliche Eigenschaften, Methoden und Ereignisse für ein Steuerelement.

  • Erstellen Sie einem zusammengesetzten Steuerelement z. B. eine Sammlung von TextBox und Button Steuerelemente.

  • Definieren Sie, wie ein Steuerelement auf Benutzeraktionen, wie z. B. eine TextBox reagiert, das nur numerische Daten akzeptiert.

.NET Compact Framework bietet derzeit keine die Möglichkeit, ein benutzerdefiniertes Steuerelement für Entwurfszeit-Zugriff hinzufügen.

Wenn Sie weitere Anpassung präziser zu formulieren möchten, müssen Sie eine von der Control-Klasse abgeleiteten benutzerdefinierten Steuerelement erstellen. Können Sie das Steuerelement durch Überschreiben der Methode OnPaint zeichnen und nicht-UI-Steuerelemente für solche Anforderungen als benutzerdefiniertes Ereignis erstellen.

Die Klasse base Control weiß nicht, wie ein abgeleitetes Steuerelement gezeichnet werden muss und keine Zeichnen Logik in der OnPaint Methode bereitstellt. Die Methode OnPaintControl sendet nur das Paint-Ereignis an registrierte Ereignisempfänger.

.NET Compact Framework übersteigt die PaintResize Ereignisse und für nur FormControl Klassen und.

Hinzufügen von benutzerdefinierten Steuerelementen zur Toolbox

Wenn Sie ein Projekt für ein benutzerdefiniertes Steuerelement in Microsoft Visual Studio 2005erstellen, wird das Steuerelement beim Kompilieren der Anwendung automatisch dem Toolbox hinzugefügt. Sie können ein benutzerdefiniertes Steuerelement mithilfe eines der folgenden Projekttypen erstellen:

  • Steuerelement-Bibliothek

  • Klassenbibliothek

  • Klassenbibliothek (1.0)

Um ein benutzerdefiniertes Steuerelement der Toolbox hinzuzufügen, klicken Sie auf Toolboxelemente auswählen aus dem Menü Extras. Sie können dann für die Assembly des Steuerelements durchsuchen.

Benutzerdefinierte Steuerelement Techniken und Überlegungen

Beachten Sie beim Erstellen von benutzerdefinierte Steuerelementen Folgendes:

  • Erbende Werte aus einem übergeordneten Steuerelement wie möglich, einige Steuerelemente in das vollständige .NET Framework wird von .NET Compact Framework nicht unterstützt. Um dieses Problem zu umgehen, können Sie die OnParentChanged-Methode bestimmen, wenn das übergeordnete Element ändert und ergreifen Sie entsprechende Aktion. Im folgenden Codebeispiel wird veranschaulicht die Hintergrundfarbe ändern, wenn das übergeordnete Element ändert:

    protected override void OnParentChanged(EventArgs e)
    {
        base.OnParentChanged(e);
        this.BackColor = Parent.BackColor;
    }
    
    Protected Overrides Sub OnParentChanged(ByVal e As EventArgs) 
        MyBase.OnParentChanged(e)
        Me.BackColor = Parent.BackColor
    End Sub
    
  • .NET Compact Framework unterstützt nicht die Schriftart von einem übergeordneten Steuerelement geerbt.

  • Um den Speicherort auf einem benutzerdefinierten Steuerelement, in denen eine "tippen und halten" zu erkennenEreignis eingetreten ist ein Kontextmenü anzeigen, behandeln Sie das Popup -Ereignis und dann Abfragen der aktuellen Maus koordiniert mithilfe der MousePosition-Eigenschaft.

  • Verwenden Sie das benutzerdefinierte Steuerelement zum vorherigen Steuerelement wechseln, den folgenden Code im Ereignishandler KeyDown , wenn eine Taste Up erkannt wird.

    this.Parent.Controls(
        this.Parent.GetChildIndex(customcontrol) - 1).Focus()
    
    Me.Parent.Controls( _
        Me.Parent.GetChildIndex(customcontrol) - 1).Focus
    

Gewusst-wie-Themen

Die folgenden Anleitungen zeigen, wie benutzerdefinierte Steuerelemente verwenden, um erweiterten Funktionalität zu erhalten:

SO WIRD'S GEMACHT: Erstellen eines benutzerdefinierten doppelklicken-Ereignisses

SO WIRD'S GEMACHT: Erstellen Sie eine benutzerdefinierte Schaltfläche Bildsteuerung

SO WIRD'S GEMACHT: Ein Verlauf anzeigen

SO WIRD'S GEMACHT: Erstellen eines numerischen Textfelds

SO WIRD'S GEMACHT: Erstellen Sie einen Besitzer gezeichnete Listenfeld

SO WIRD'S GEMACHT: OnEnter-Funktionalität erstellen

SO WIRD'S GEMACHT: Bildlaufleiste Form Inhalt

SO WIRD'S GEMACHT: Sort ListView Items

SO WIRD'S GEMACHT: Unterklasse a TreeView by Using Native Callbacks

SO WIRD'S GEMACHT: Unterklasse einer Schaltfläche durch Verwenden von systemeigene Rückrufen

Siehe auch

Konzepte

Bilden von Unterklassen von Steuerelementen mit einer verwalteten Windows-Prozedur

Weitere Ressourcen

Windows Forms-Steuerelemente in .NET Compact Framework