2017-02-10 74 views
-1

。對不起,我的英語不好。我是新的Visual Studio和C#。通常我用java編碼。我試圖做出簡單的Windows窗體項目。之後我把一個文本框放進去。我將該文本框從public(自動生成)更改爲public static。但是當我看到設計視圖版本,並且如果我雙擊該文本框,它就會再次公開。如果我仍然希望該文本框保持靜態而無需手動更改,我該怎麼辦?公共靜態元素自動變爲

+2

您不希望表單元素是靜態的,因爲它們應該屬於表單的特定實例。你爲什麼如此堅持將其改爲靜態? – itsme86

+0

我希望你不打算從另一個表單或另一個類來做到這一點:'var text = Form1.textbox1.Text'。因爲即使Visual Studio將其單獨保留並且沒有將其更改回實例字段,您也會得到空引用異常。或者如果你確實像回答所建議的那樣。或者我希望你不打算在我的團隊中這樣做。 – CodingYoshi

+1

您不應該在Java中使表單字段靜態,也不應該在.net中。 –

回答

1

Windows窗體控件必須是實例而非靜態成員才能正常工作。這就是設計師強制清除靜電的原因。

我假設你想在應用程序中的其他位置共享那個值,如果你打算使用傳統的Windows窗體,而不是像WPF或UWP那樣更現代化和支持的東西,我強烈推薦使用Model-View-Presenter模式。