Baum (Steuerelement)
# Baum (Steuerelement)

Ein Baum, verdeutlichend auch Baumansicht (engl.: Tree view oder treeview) oder eine hierarchische Liste, ist ein Steuerelement einer grafischen Benutzeroberfläche, das eine hierarchisch gegliederte Liste darstellt und Auswahl daraus ermöglicht. Der Baum besteht dabei aus mehreren ineinander geschachtelten Knoten, welche wahlweise mit einem Mausklick auf das davor eingeblendete Symbol (meist ein Pluszeichen bzw. Minuszeichen oder ein Dreieck) aufgeklappt oder zugeklappt werden können.

## Darstellung

Dargestellt wird der Baum in der Regel mit der Wurzel in der oberen linken Ecke. Die Verbindungslinien zwischen den Knoten können dabei gezeichnet oder ausgelassen werden. Werden diese nicht dargestellt, ist die hierarchische Struktur nur durch die eingerückte Darstellung der Knoten erkennbar. Ein weiteres Unterscheidungsmerkmal ist die Darstellung der Blätter, welche im Baum integriert werden oder aber auf einer Detailseite z. B. in Form einer Liste dargestellt werden können.
Eine Alternativform eines Baums ist die Kombination mit einer Textbox. Je nach Inhalt dieser Textbox werden im Baum nur die Knoten und Blätter angezeigt, welche das eingegebene Suchwort in irgendeiner Form enthalten. Solche Bäume werden unter anderem in der integrierten Entwicklungsumgebung Eclipse eingesetzt.

## Verwendung

Bäume werden oft eingesetzt, um hierarchisch verschachtelte Strukturen darzustellen. Die hierarchische Verzeichnisstruktur eines Computers etwa wird oft als Baum dargestellt. Bekannte Anwendungsbeispiele sind die Ordnerstruktur im Windows-Explorer oder der Dateimanager Xtree unter DOS.
Auch die Liste der Einstellungen einer Software wird oft als Baum dargestellt, um sie übersichtlicher zu machen.
Die meisten integrierten Entwicklungsumgebungen können die Struktur eines Softwareprojektes – vom ganzen Projekt bis hinunter zu Abschnitten in einzelnen Dateien – als Baum darstellen.
ISO 9241-161 schreibt vor, dass ein Baum so gestaltet sein muss, dass die hierarchische Position eines Knoten und der Daten angegeben wird. Ferner empfiehlt die Norm eine Ordnung der Daten auf „geeignete Weise“.

## Programmierung
### C#

Das folgende Beispiel in der Programmiersprache C# zeigt die Implementierung eines Hauptfensters mit einem TreeView und einem Button für verschiedene Länder und Kontinente. Das Klick-Ereignis des Buttons ist mit einer Ereignisbehandlungsroutine verknüpft, die ein Fenster öffnet (siehe Ereignis).