先生,我有兩個窗體窗體,每個窗體都有一些控件。我想從另一個窗體訪問一個窗體的控件。我嘗試了兩種方法 - 1-使控件公開並訪問它們。 - 根據需要進行公共物業獲取和設置控制。 但在這兩種情況下,我必須創建第一種形式的對象才能訪問屬性或公共控件。我創建了一個套接字對象並將它綁定到第一個表單的構造函數中的本地端點。現在,如果我爲訪問控件創建第一個窗體的另一個對象,則會再次觸發構造函數,並執行相同的套接字綁定代碼,從而導致異常。請建議我該怎麼做? Thankssssss ....如何從一個窗體窗體訪問其他窗體的控件
0
A
回答
2
您可以在許多方面做到這一點...
你可以聲明一些靜態的getter/setter方法來管理compononent的靜態實例:
private static Type _myObject;
public static Type MyObject
{
get
{
return _myObject;
}
}
在這情況下,你可以從evrywere訪問它,如果你只需要一個特定的共享對象
MyClass.MyObject.Function();
,也可以定義一個getter全班:
public class MyClass
{
static MyClass _myClass;
public static MyClass Instance { get { return _myClass; } }
public MyClass()
{
_myClass = this;
...
}
public void Hello()
{
Console.WriteLine("CIAO!")
}
}
和獲取類的所有方法和屬性:
MyClass.Instance.Hello();
您也可以通過類構造函數,屬性或功能,但是我不喜歡這種方式...
+0
如果我將Program.CS文件中的第一種形式的對象(它是應用程序的主要形式)聲明爲靜態並使用program.cs文件中的屬性返回實例化對象,該怎麼辦?作爲主要的窗體對象在program.cs中創建以傳遞Application.Run(new form()); – himanshu
+0
不是我認爲的最好的方式......更好的做法是編寫一個獨立的類,而不是像第二個例子那樣使用單個實例,然後訪問所有你需要的東西...... – Achilleterzo
相關問題
- 1. 如何訪問另一個窗體的窗體控件?
- 2. 如何從另一個Windows窗體訪問一個Windows窗體控件?
- 3. 如何關閉窗體窗體並將控件轉移到其他窗體?
- 4. 從子窗體訪問主窗體
- 5. 訪問窗體控件從類C#窗體
- 6. 從窗體內的用戶控件,我如何訪問父窗體的DataGridView?
- 7. 訪問沒有窗體實例的VBA用戶窗體控件
- 8. 從其他控制器的Symfony窗體
- 9. 從模塊訪問窗體控件[VB.NET]
- 10. 從另一個窗體關閉窗體
- 11. 如何將其他窗體的所有控件添加到Winforms中的窗體?
- 12. 訪問其他窗體變量
- 13. 如何從另一個窗體窗體的事件調用窗體窗體的功能?
- 14. 子窗體內的子窗體控件
- 15. 如何在其他窗體控件中使用MVC窗體中的CheckBoxFor
- 16. 如何從另一個線程訪問窗體控件?
- 17. 窗體不能從其他子窗體輸入在訪問更新2010
- 18. 從mainForm調用其他窗體 - 其他窗體不可見的組件
- 19. 如何從子窗體更新MDI父窗體中的控件?
- 20. C#窗體窗體:Mdi父窗體和子窗體問題
- 21. 如何隱藏當前窗體的其他窗體C#
- 22. 如何從另一個運行窗口窗體中訪問控件c#
- 23. 動態生成窗體窗體控件
- 24. .NET窗體窗體刷新控件
- 25. 父窗體中的子窗體如何訪問父窗體控件的按鈕單擊
- 26. Windows窗體 - 從父窗體
- 27. 如何從Visual Studio中的其他窗體訪問列表框?
- 28. C#如何擁有一個位於其他窗體之上的消息窗體?
- 29. 訪問新窗體上的控件
- 30. 關閉時將變量從窗體傳遞到其他窗體
我不知道你在說什麼。是的,你必須首先創建/實例化控件,以便能夠使用它們 - 你期望什麼?你在問題中描述的任何一種方法都可以讓你實現你想要的。除非您向我們展示它是什麼,否則我們無法告訴您您的代碼出了什麼問題。 –