Laden...

WinForms - Form an Klasse übergeben?

Erstellt von Buzz Tyca vor 8 Jahren Letzter Beitrag vor 8 Jahren 946 Views
B
Buzz Tyca Themenstarter:in
50 Beiträge seit 2015
vor 8 Jahren
WinForms - Form an Klasse übergeben?

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

J
251 Beiträge seit 2012
vor 8 Jahren

Hoi,

Ich habe das Gefühl, dass Event eher das Stichwort ist.

Kann ich denn eine ganze Klasse als Parameter übergeben?

Gegenfrage: Was hindert dich? Oder verstehe ich das Problem nicht in der Frage?

16.807 Beiträge seit 2008
vor 8 Jahren

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