none
UserControl vs Form RRS feed

  • Frage

  • Hallo,

    ich befinde mich mitten in der Entwicklung einer WinForms Anwendung. Ich bin Anfänger und stehe vor folgender Frage:

    Werden für verschiedene Fenster bzw. Ansichten in einer Anwendung UserControls oder Forms verwendet? Ist eins davon der richtige Weg oder ist es von der Anwendung oder dem Programmierstil abhängig was genutzt wird?

    Vielen Dank für jegliche Hilfe!


    • Bearbeitet zorrosenpai Mittwoch, 1. Mai 2019 16:17 Zu langer Text
    Mittwoch, 1. Mai 2019 16:09

Antworten

  • Hi,
    Fenster (Window) ist der äußere Container eines Programmes, der im Windows Betriebssystem verwaltet wird. Innerhalb eines Fensters können Oberflächen-Elemente platziert werden. Ein UserControl ist auch ein Oberflächen-Element, welches jedoch der Anwender selbst erstellen muss bzw. erstellen lassen muss. Das Ziel der Erstellung eines UserControls ist die Kapselung von Funktionalitäten, um solche Kapseln z.B. mehrfach unverändert innerhalb der Fenster der Anwendungen einzusetzen.

    --
    Best Regards / Viele Grüße
    Peter Fleischer (former MVP for Developer Technologies)
    Homepage, Tipps, Tricks

    Mittwoch, 1. Mai 2019 18:44
  • Hi,
    es gibt verschiedene Container, die Steuerelemente (einschließlich UserControls) aufnehmen können. Diese Container haben üblicherweise eine Controls-Eigenschaft, der man Steuerelemente-Instanzen hinzufügen kann. 

    Da ein UserControl ein selbst erstelltes Steuerelement ist, kann es genau so wie ein im Framework bereitgestelltes Steuerelement, beispielsweise eine TextBox, einem Container für die Darstellung hinzugefügt werden. Ein Panel-Steuerelement ist ein möglicher Container. Es ist demnach keine "zweckentfremdete" Nutzung, wenn man einem Container ein Steuerelement vom Typ UserControl hinzufügt.


    --
    Best Regards / Viele Grüße
    Peter Fleischer (former MVP for Developer Technologies)
    Homepage, Tipps, Tricks

    Donnerstag, 2. Mai 2019 05:06

Alle Antworten

  • Hi,
    Fenster (Window) ist der äußere Container eines Programmes, der im Windows Betriebssystem verwaltet wird. Innerhalb eines Fensters können Oberflächen-Elemente platziert werden. Ein UserControl ist auch ein Oberflächen-Element, welches jedoch der Anwender selbst erstellen muss bzw. erstellen lassen muss. Das Ziel der Erstellung eines UserControls ist die Kapselung von Funktionalitäten, um solche Kapseln z.B. mehrfach unverändert innerhalb der Fenster der Anwendungen einzusetzen.

    --
    Best Regards / Viele Grüße
    Peter Fleischer (former MVP for Developer Technologies)
    Homepage, Tipps, Tricks

    Mittwoch, 1. Mai 2019 18:44
  • Hallo,

    das mit der Kapselung habe ich verstanden. In der Praxis werden die UserControls jedoch als Oberflächen bzw. Ansichten eines Menüpunkts benutzt. Als Beispiel: ich habe ein Menü mit 3 Buttons die jeweils auf 3 UserControls mit verschiedenen Oberflächen verweisen. Diese werden dann bei anklicken in ein Panel in der Mainform geholt. Also kann man sagen, dass es irgendwo eine "Zweckentfremdete" Nutzung der UserControls ist? Oder ist dies auch eine Möglichkeit verschiedene Ansichten zu entwickeln und zu benutzen?

    Vielen Dank!

    Mittwoch, 1. Mai 2019 19:33
  • Hi,
    es gibt verschiedene Container, die Steuerelemente (einschließlich UserControls) aufnehmen können. Diese Container haben üblicherweise eine Controls-Eigenschaft, der man Steuerelemente-Instanzen hinzufügen kann. 

    Da ein UserControl ein selbst erstelltes Steuerelement ist, kann es genau so wie ein im Framework bereitgestelltes Steuerelement, beispielsweise eine TextBox, einem Container für die Darstellung hinzugefügt werden. Ein Panel-Steuerelement ist ein möglicher Container. Es ist demnach keine "zweckentfremdete" Nutzung, wenn man einem Container ein Steuerelement vom Typ UserControl hinzufügt.


    --
    Best Regards / Viele Grüße
    Peter Fleischer (former MVP for Developer Technologies)
    Homepage, Tipps, Tricks

    Donnerstag, 2. Mai 2019 05:06