Entwickler-Ecke

WinForms - Anzeige von Bilder u. TextBoxen


Souly - Fr 21.12.07 10:03
Titel: Anzeige von Bilder u. TextBoxen
Hallo!

Ich bin gerade dabei mich ein wenig in C# einzuarbeiten und wollte mir ein kleines Verwaltungsprogramm schreiben. Ich benutze dafür ein TabControl und möchte u.a. auf einer Seite davon Bilder + ein paar Informationen anzeigen lassen. Diese Daten sollen aus einer Datenbank kommen und der Aufbau auf dem Bildschirm soll so aussehen: Bild (picturebox) und rechts daneben jeweils immer eine Textbox für irgendwelche Informationen.

Nun zu meiner Frage: Welches Control würdet ihr dafür benutzen oder würdet Ihr anhand der Anzahl der Bilder, dynamisch PictureBoxen und TextBoxen erstellen?

Vielen Dank schon mal im Voraus!

Gruß
Souly


JüTho - Fr 21.12.07 10:25

Hallo,

prüfe einmal nach, ob der SplitContainer für Deine Anforderungen geeignet ist. Alternative wäre ein UserControl mit einem Aufbau, der Deiner Beschreibung entspricht.

Ich würde vermutlich eine Klasse mit dem Designer erzeugen und für jede Anzeige eine Instanz erstellen:

C#-Quelltext
1:
2:
3:
4:
5:
public class PictureContainer : SplitContainer {
  //  mit den Inhalten
}
// und in der Anwendung für jedes Bild:
currentContainer = new PictureContainer(currentImage, currentText);

Das bedeutet, Du benötigst einen Konstruktor, dem Du das Bild und die Beschreibung direkt übergibst und diese sofort in die Detail-Controls überträgt.

Eine ganz andere Frage ist, wie die Bilder und Texte aus der Datenbank geholt werden. Unter ADO.NET wird grundsätzlich zwischen Datenspeicherung (DB), Bearbeitung im Arbeitsspeicher und Anzeige getrennt. Die Verbindung zur Datenbank wird immer nur kurzfristig bei Bedarf geöffnet. Außerdem ist zu empfehlen, nur die jeweils erforderlichen Informationen aus der DB abzurufen. Wenn Du also mehr als ca. 5 Bilder auf einmal holen willst, wird es zumindest unübersichtlich. Das hat wenig mit der konkreten Umsetzung, aber viel mit dem "Design" der Programmstruktur zu tun.

Gruß Jürgen