假設我創建了一個窗口形式Form.cs
。它有一些控件(label1,label2,button1,button1等)。我還在Form.cs
下創建了一個新窗口New_Form.cs
。現在我想訪問New_Form.cs
中的label1,label2,button1。我怎樣才能做到這一點?如何從另一個Windows窗體訪問一個Windows窗體控件?
回答
雖然這是不好的設計,你可以以另一種形式,使它們公開,然後訪問他們喜歡這種訪問屬性:
Form1 frm = new Form1();
Form1.button1.Visible = false;
而且,這裏是屬於你的問題的MSDN頁面
http://msdn.microsoft.com/en-us/library/f6525896%28v=vs.90%29.aspx
這隻會讓他訪問在窗口本身聲明的窗口屬性。如果一個窗口* Z *在某些* X *表單中創建,並且您需要從* Y * –
訪問該窗口如果您知道如何做到這一點,請務必給出更好的答案:) – annonymously
我不知道這就是爲什麼我問你.....我也沒有使用Windows窗體,但很想知道如何實現。所以,我問你認爲你可能也知道dat ... –
您可以通過在Parent
表單中將其設置爲公共屬性來訪問所需的屬性。不知道爲什麼你會想要按鈕,如果你想要點擊執行一些東西,那麼你應該將邏輯封裝到單獨的方法中,然後他們進行調用。
如果你有較少的細節來傳遞,然後爲新形式會接受這些值
ChildForm child = new ChildForm([label1], [label2])
或
ChildForm child = new ChildForm([parent form reference]) // so you could access require components
我不想冒犯建設者,但我認爲使用另一種形式的控制不是一個好的設計。
在我oppinion它是不是好夫妻一個類(在這個問題form1
)至內實現另一類form2'的`(管制。如果由於某種原因,不得不改變內部設計(例如顯示不同控件的數據),你必須改變另一個類,這使得編碼(當然還有錯誤搜索)相當困難
如果需要在兩個數據之間交換數據類,我寧願使用publioc屬性,在內部設計中,你可以將它們附加到一個控件,但這個「耦合」保持在同一個類中)
- 1. 如何訪問另一個窗體的窗體控件?
- 2. 如何從一個窗體窗體訪問其他窗體的控件
- 3. 將控件從一個窗體複製到另一個窗體
- 4. 如何從另一個線程訪問窗體控件?
- 5. C#鎖定一個Windows窗體控件
- 6. C#中使用一個變量來訪問Windows窗體控件
- 7. 從另一個項目修改Windows窗體控件
- 8. Windows窗體組件訪問
- 9. 如何從另一個窗體打開窗體中的窗體
- 10. 如何從另一個運行窗口窗體中訪問控件c#
- 11. 將一個Windows窗體設置爲另一個Windows窗體的MDI子窗體(或等價物)
- 12. Windows窗體控件
- 13. 從另一個窗體關閉窗體
- 14. 從另一個類訪問窗體控件
- 15. Windows窗體:等到另一個窗體關閉
- 16. 一個Windows窗體需要訪問另一個窗體的組件。什麼是最簡單的實現?
- 17. PyQt5從另一個窗體調用另一個窗體
- 18. 將Windows窗體顏色從一個改爲另一個
- 19. 在Visual Basic中顯示控件從一個窗體到另一個窗體6
- 20. Windows窗體 - 從父窗體
- 21. Windows窗體 - 如何從父窗體
- 22. 保持一個控制另一臺總是在Windows窗體.NET
- 23. Windows窗體 - 包括帶有另一個窗口的窗口
- 24. 如何從一個.cs文件訪問GridView到Windows窗體中的另一個.cs文件
- 25. 控制窗體從另一個窗體wpf
- 26. C#:從一個窗體獲取信息到另一個窗體
- 27. 將值從一個窗體傳遞到另一個窗體
- 28. 如何從另一個類的構造函數訪問控件窗體
- 29. 如何訪問windows窗體中顯示的事件控件?
- 30. 如何從另一個窗體訪問對象c#
這已經被問到[一遍又一遍](http://stackoverflow.com/search?q= [c%23] + [winforms] + pass + values + to + another + form)。 – Otiel