Hallo Zusammen,
ich möchte vorausschicken, dass ich noch in der Ausbildung bin und mir an dieser Stelle wahrscheinlich einfach nur die Erfahrung fehlt.
Folgendes Problem:
Ich habe mehrere Win-Forms mit eigenem Nav-Bereich. Bei der änderung der Daten sollen eine Buttons auf der NavBar enabled werden.
Das möchte ich über eine Klasse lösen, um nicht immer den gleichen Code in den frm-Klassen stehen zu haben.
Nun muss aber die Klasse, die die Buttons ändern soll, wissen, von welcher Klasse der Befehl kommt. Kann ich denn eine ganze Klasse als Parameter übergeben?
Ich habe mir das in etwa so vorgestellt:
//Pseudocode
class btnChng
{
private void Nav(bool b, form cls)
{
cls.btnFirstRecord.Enabled = b;
cls.btnPrevRecord.Enabled = b;
cls.btnNextRecord.Enabled = b;
cls.btnLastRecord.Enabled = b;
}
}
Bin für jeden Rat dankbar.
LG Buzzy
Schau Dir bei WinForms den MVP Pattern an; bei WPF würde man das mit Hilfe von MVVM und ViewModels lösen.
Wichtig ist hier - und das ist ja auch Dein Ziel - die Trennung von GUI und Business-Logik.
[Artikel] Drei-Schichten-Architektur
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code