Laden...

Checkboxen variabel erstellen

Erstellt von -=THE BRAIN=- vor 18 Jahren Letzter Beitrag vor 18 Jahren 3.404 Views
-
-=THE BRAIN=- Themenstarter:in
100 Beiträge seit 2005
vor 18 Jahren
Checkboxen variabel erstellen

Mahlzeit,

mich würde mal interessieren ob es möglich ist, CheckBoxen variabel zu erstellen. Ich schreibe gerade an einem Programm, welches mögliche Software-Updates prüft und per FTP kopiert. In dem Archiv, welches die Updates enthält, wird unter anderem auch eine XML-Datei erstellt, die die im Archiv befindlichen Updates enthält. (Es geht nicht um Win-Updates!). Bei den Updates handelt es sich um eine Größenordnung von max. 10 Updates gleichzeitig.

Also in etwa sollte es so funktionieren :

Die XML-Datei wird eingelesen und ausgewertet. Dabei werden die einzelnen Nodes (updatename) ausgelesen.


...
<updatename>"icqwatch"
  <version>1.99</version>
</updatename>
...

Nun möchte ich gerne, dass wenn z.B. 3 Updates zur verfügung stehen, auch 3 CheckBoxen erstellt werden. Oder eben 10 CheckBoxen wenn 10 Updates zur Verfügung stehen.

Kann man sowas machen? Oder muss ich von vornherein 10 CheckBoxen erstellen und die nur anzeigen lassen, wenn mögliche Updates verfügbar sind?

Grüße
T.B.

165 Beiträge seit 2004
vor 18 Jahren

Es gibt doch eine ListBox, bei der Du die Checkboxen einblenden kannst. Das wäre mein Vorschlag dafür.

S
8.746 Beiträge seit 2005
vor 18 Jahren

.NET 1.1 kennt im Prinzip keinen Unterschied zwischen "festen" und "variable" erstellen Controls. Beides ist reiner Code, der vom Designer angelegte halt in der Methode InitializeComponents().

Bei der Erstellung der Checkboxen bist du natürlich voll für Darstellung (Position, Farbe, etc.) verantwortlich.

4.506 Beiträge seit 2004
vor 18 Jahren

Hallo -=THE BRAIN=-!

Normalerweise kann man dynamisch Controls hinzufügen, indem man zunächst das erwünschte Control erzeugt, dann die gewünschten Eigenschaften setzt und zuletzt dann dem HauptContainer hinzufügt.

In etwa so:



CheckBox dynCB = new CheckBox();
dynCB.Checked = true;
dynCB.Visible = true; // sowieso schon default

this.Controls.Add(dynCB);


Das kann man dann auch öfters hintereinander machen, so also kannst Du auch eine bestimmte Anzahl CheckBoxen zusätzlich hinzufügen.

Ciao
Norman-Timo

A: “Wie ist denn das Wetter bei euch?”
B: “Caps Lock.”
A: “Hä?”
B: “Na ja, Shift ohne Ende!”

-
-=THE BRAIN=- Themenstarter:in
100 Beiträge seit 2005
vor 18 Jahren

Erst mal Danke für die mega schnellen Antworten !!!

@ernie04
das geht zwar mit der ListBox, sagt mir aber irgendwie optisch nicht so wirklich zu. Trotzdem Danke !

@norman_timo
das versuche ich mal. Könnte eigentlich so gehen. Vielen Dank!

@svenson
Ja, ich weiß. Aber Position etc. ließe sich ja relativ einfach festlegen.

Also vielen Dank. Ich versuche mich mal dran !

Grüße
T.B.

M
73 Beiträge seit 2005
vor 18 Jahren

Ich würde dir auch zu der Variante mit der CheckedListbox raten, da du da einfach variabler bist was die Anzahl der Updates angeht. Ausserdem kannst du in einer Listbox auf einfache und übersichtliche weise zusatzinformationen zu den updates anbieten, wie z.B. die Größe und die Versionsnummer.
(MultiColumn = true😉
Wenn du das mit Checkboxen und deren Beschriftung oder zusätzlichen Labels machst wirds schnell unübersichtlich - der Code is ausserdem viel aufwändiger.

Wenn du statt der CheckedListbox eine ListView (mit Style "DETAILS") verwendet kannste auch noch Icons für die updates dazubasteln.