2017-02-10 2 views
-1

vor allem. Entschuldigung für mein schlechtes Englisch. Ich bin neu in Visual Studio und C#. Normalerweise code ich in Java. Ich habe versucht, einfache Windows Forms Projekt zu machen. Danach habe ich eine Textbox hineingelegt. und ich habe dieses Textfeld von öffentlich (automatisch generiert) in öffentliches statisch geändert. Aber wenn ich die Entwurfsansichtsversion sehe und wenn ich auf diese Textbox doppelklicke, wird sie wieder öffentlich. Was kann ich tun, wenn ich immer noch möchte, dass die Textbox statisch bleibt, ohne sie manuell zu ändern?öffentliches statisches Element automatisch geändert

+2

Sie möchten nicht, dass Formularelemente statisch sind, da sie zu einer bestimmten Instanziierung des Formulars gehören sollen. Warum beharrst du so sehr darauf, es zu statisch zu machen? – itsme86

+0

Ich hoffe, Sie haben nicht vor, dies aus einem anderen Formular oder einer anderen Klasse zu tun: 'var text = Form1.textbox1.Text'. weil Sie eine NULL-Verweisausnahme erhalten, selbst wenn Visual Studio sie in Ruhe gelassen hat und sie nicht zurück in das Instanzfeld geändert hat. Oder wenn Sie es getan haben, wie die Antwort vorgeschlagen hat. Oder ich hoffe, Sie haben nicht vor, dies in meinem Team zu tun. – CodingYoshi

+1

Sie sollten keine Formularfelder in Java statisch machen, und Sie sollten auch nicht in .net. –

Antwort

1

Windows Forms-Steuerelemente müssen Instanzen sein, nicht statische Elemente, damit sie ordnungsgemäß funktionieren. Deshalb zwingt der Designer das Entfernen der Statik.

Ich nehme an, dass Sie diesen Wert sonst wo in der Anwendung teilen möchten, wenn Sie die Legacy Windows Forms und nicht etwas moderner und unterstützt wie WPF oder UWP verwenden, empfehle ich das Model-View-Presenter Muster zu verwenden.

Verwandte Themen