Sorry, ich wusste keinen besseren Title...
Also,
ich habe mehrere Forms und möchte mit allen immer folgendes machen:
MyForm.bTraining=true;
MyForm.ShowDialog();
myList.Add(MyForm.iPoints)
Ich habs bis jetzt so gelöst:
List<Form> alForm = new List<Form>();
alForm.Add(new MyForm());//alle Form rein
alForm[0].ShowDialog();
klappt wunderbar, aber ich kann nicht
alForm[0].bTraining=true;
zuweisen; dazu müsste ich es explizit casten:
var f = alForm[0] as MyForm;
f.bTraining=true;
aber das bringt mir nicht, da ich keine Automatisierung hätte.
Hat jemand einen Vorschlag, wie ich mein Problem elegant lösen könnte? 8)
-=MasterMax=-
Dafür gibt es doch die Vererbung:
public partial class BaseForm : Form
{
// alles, was alle Formulare gemeinsam haben sollen,
// kommt hierher
}
Dann wird jedes dieser Formulare von BaseForm abgeleitet.
Die Vererbung von BaseForm kann auch nachträglich geändert werden. Du darfst nur nicht vergessen, dass evtl. auch in jeder Designer.cs Anpassungen nötig sind.
Oder habe ich etwas völlig falsch verstanden? Jürgen
also, z.Z. schauts so aus, dass ich 11 Form (tendenz steigend) habe, die eine Minianwendung enthalten. Diese sollen z.B. entweder alle nacheinander oder ein zufällig ausgewähltes geöffnet werden. Das Einzige was sie gemeinsam haben sind die Variablen bTraining und iPublicPoints.
-=MasterMax=-
Super, hab die Lösung gefunden:
List<Form> alForm = new List<Form>();
alForm.Add(new Farbmischer());
var f = alForm[0] as PolymorphyForm;
f.bTraining = true;
f.ShowDialog();
public partial class Farbmischer : PolymorphyForm
-=MasterMax=-