Zugriff auf Formularobjekte aus einer anderen CS-Datei in C #

7

In der Datei form.cs habe ich zwei Buttons, ein Memo und einen Timer. Meine Frage ist: Wie greife ich auf den Timer oder das Memo aus einer anderen CS-Datei zu?

Ich habe versucht, die Objekte öffentlich zu machen, aber es hat nicht funktioniert, bitte gib mir eine Quelle oder ein Projekt, damit ich sehen kann, wo ich mich irre.

Danke!

    
Ivan Prodanov 04.04.2009, 13:23
quelle

5 Antworten

15

Wählen Sie Ihre Schaltfläche im Designer aus, gehen Sie zu deren Eigenschaften und ändern Sie die Eigenschaft "Modifikatoren" von "Privat" in "Öffentlich".

Dann können Sie von einer anderen Klasse darauf zugreifen, etwa so:

%Vor%

Hinweis: Es ist nur ein Beispiel und definitiv kein Muster für gutes Design :-)

    
Konstantin Tarkus 04.04.2009, 13:25
quelle
6

Ich mache mir Sorgen, wenn ich jemanden höre, der von "einer anderen .cs-Datei" oder "einer anderen .vb-Datei" spricht. Es zeigt oft (wenn auch nicht immer) ein mangelndes Verständnis der Programmierung, zumindest der OO-Programmierung. Was ist in Dateien? Eine Klasse? Zwei?

Sie versuchen nicht, auf diese Dinge von einer anderen Datei zuzugreifen, Sie versuchen, auf sie von einer Methode einer Klasse oder möglicherweise eines Moduls in VB zuzugreifen.

Die Antwort auf Ihre Frage hängt von der Art der Klasse und der Methode ab, von der Sie versuchen, auf diese Dinge zuzugreifen, und vom Grund, warum Sie darauf zugreifen möchten.

Sobald Sie Ihre Frage so bearbeitet haben, dass sie diese Informationen enthält, zeigen Ihnen die Antworten wahrscheinlich, dass Sie nicht auf diese privaten Teile des Formulars in anderen Klassen als der Formularklasse selbst zugreifen sollten.

    
John Saunders 04.04.2009 13:31
quelle
5

In Program.cs ist das Formularobjekt bereits instanziert, außer dass es keine Referenz gibt. Mit der einfachen Bearbeitung können Sie

drehen %Vor%

bis

%Vor%

deklariere es wie

%Vor%

und verwenden

%Vor%     
user2091150 14.03.2013 10:38
quelle
1

Obwohl ich John Saunders zustimme, eine Sache, die Sie möglicherweise falsch machen, vorausgesetzt, dass Sie alles durch öffentliche Modifikatoren zugänglich sind, ist, dass Sie nicht die Instanz dieses Formulars haben.

Zum Beispiel, so würden Sie es tun:

%Vor%

Ich gehe davon aus, dass Sie versuchen, darauf zuzugreifen, als wäre es statisch:

%Vor%

Nur etwas, das Sie überprüfen möchten.

    
Aaron Daniels 04.04.2009 13:37
quelle
0

Die intuitive Option besteht einfach darin, das Kontrollfeld öffentlich zu machen Hier ist eine sehr gute Lösung, um dieses Problem zu lösen.

Ссылка

    
riandp 15.11.2011 06:17
quelle

Tags und Links