Ich bin ziemlich neu bei der Programmierung mit C# und stehe jetzt vor einem Problem. Ich habe eine Klasse, in der verschiedene Eigenschaften deklariert sind und weiß auch, wie ich während der Entwicklung ein neues Objekt dieser Klasse erstelle. In meiner Anwendung soll der Benutzer aber die Möglichkeit haben, auf einen "+"-Button zu drücken und dann in einem sich öffnenden Fenster Werte einzugeben. Bei klicken auf "OK" wird dann ein neues Objekt generiert, dass diese Werte übertragen bekommt. Meine Frage ist jetzt, wie ich während der Laufzeit ein neues Objekt erstelle. Wäre nett, wenn mir wer weiterhelfen könnte.
Paul Gillesberger schrieb: > Meine Frage ist jetzt, wie ich während der Laufzeit ein neues Objekt > erstelle. macht man doch ständig, verstehe das Problem nicht?
1 | class test {}; |
2 | |
3 | test x = new test; |
Danke für die schnelle Antwort. Vielleicht habe ich mich schlecht ausgedrückt. Ich meine, dass der Benutzer die Möglichkeit haben soll eine unbegrenzte Anzahl an Objekten zu erstellen, also jedes Mal, wenn er auf "+" klickt.
Paul Gillesberger schrieb: > Ich meine, dass der Benutzer die Möglichkeit haben soll eine unbegrenzte > Anzahl an Objekten zu erstellen, also jedes Mal, wenn er auf "+" klickt. ich versteht das Problem immer noch nicht. Einfach die neuen Objekte in eine Liste einfügen bei jedem "+".
Dafur brauchst du eine Collection Klasse wie zB List oder Vector, die eine flexible Anzahl Objekte speichern kann. Google mal danach...
Dann musst du die Objekte (oder besser gesagt: die Referenzen) in einer geeigneten Datenstruktur ablegen. Z.B. in einer "List<DeinTyp>": list.Add(new DeinTyp(... Parameter ...));
Okay, danke für die Antworten. Mit der List<> funktioniert es eigentlich gut. Eine Frage nur noch: Ich habe die Daten an eine ListBox gebunden und wenn ich auf "+" klicke werden auch die eingegebenen Parameter angezeigt, wenn ich aber nochmal drauf klicke, verändert sich nichts. Wird nur das Binding nicht aktualisiert, da die Werte ja eigentlich generiert werden sollten?
Paul Gillesberger schrieb: > Okay, danke für die Antworten. Mit der List<> funktioniert es eigentlich > gut. Eine Frage nur noch: Ich habe die Daten an eine ListBox gebunden > und wenn ich auf "+" klicke werden auch die eingegebenen Parameter > angezeigt, wenn ich aber nochmal drauf klicke, verändert sich nichts. > Wird nur das Binding nicht aktualisiert, da die Werte ja eigentlich > generiert werden sollten? Genau, List<> teilt der ListBox nicht mit, dass etwas verändert wurde. Wenn statt List<> BindingList<> verwendet wird, sollte es funktionieren.
Danke! Wenn ich jetzt allerdings mit einem weiteren Button z.B. die IsReadOnly Eigenschaft einer TextBox in einem ListBox Template verändern möchte, werden immer alle umgestellt. Gibt es dafür eine Lösung?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.