Ich versuche, mein Programm in Klassen zu teilen, um Unordnung zu reduzieren und die Lesbarkeit zu erhöhen.C# WinForms 'this.Controls.Find' in einer separaten Klasse
In einer meiner Methoden muss ich den Ort eines Etiketts auf dem Bildschirm finden.
this.Controls.Find
hat funktioniert, bevor ich alles in separate Klassen verschoben habe, aber es existiert nicht mehr, weil ich es nicht mehr in der gleichen Klasse wie die Steuerelemente ausführe. Ich versuchte Main.Controls.Find
(Main.cs ist, wo mein Formular ausgeführt wird und dargelegt), aber das hat auch nicht funktioniert, und ich habe den Fehler, "Eine Objektreferenz ist für das nicht statische Feld, Methode oder Eigenschaft erforderlich" Control. Controls '"
Wie kann ich die Steuerelemente referenzieren? Muss ich eine zusätzliche using-Anweisung hinzufügen?
Danke,
Josh
Sie müssen einen Verweis auf das Formular-Objekt. Einfach in der Klasse, nicht so einfach, wenn Sie es bewegen. Überlegen Sie, ob Sie den Konstruktor übergeben. –
Lesen Sie mehr über ['Class'] (https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/classes) und erstellen Sie Objektinstanzen. –