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!
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 :-)
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.
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%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.