2012-10-27 76 views
-2

可能重複:
Using and instance of a class on two forms訪問對象在C#

正如我非常新的OOP - 尤其是用Visual C# - 我有一個問題,瞭解以下內容:

Windows窗體應用程序有幾種形式。他們都可以訪問用其中一種形式創建的對象Client(用於與服務器通信)。但是,我如何才能使這個對象實例在其他表單中可用?

+0

難道你不能通過構造函數將對象傳遞給所需的表單類嗎? – nawfal

回答

2

您可以使客戶端在窗體父窗體中公開爲靜態,並從其他窗體訪問它。如果同步訪問,您必須使其線程安全。

公開將使其可用於其他形式,爲所有表單創建單個實例。使其公共靜態。

public static Client client. 

若要從其他窗體訪問它,假設客戶端位於Form1中並從其他窗體訪問。

Client client1 = Form1.client; 
+0

或者也許把它放在同一個命名空間的一個靜態類中,但不要綁定到一個形式,例如:'Variables.Client'。 – 3aw5TZetdf

+0

是@MatthewRz如果可能的話那就更好了。 – Adil