如何从其他窗体访问一个窗口窗体中的控件

时间:2011-02-26 05:19:44

标签: c# winforms

先生,我有两个窗口形式,每个窗体都有一些控件。我想从另一个表单访问一个表单的控件。我试过两种方法 - 1-使控件公开并访问它们。 2-根据需要进行公共属性获取和设置控制。 但在这两种情况下我都必须创建第一个表单的对象才能访问属性或公共控件。我已经实现了一个套接字对象并将其绑定到第一个表单的构造函数中的本地端点。现在,如果我为了访问控件而创建了第一个表单的另一个对象,则会再次触发构造函数并执行相同的套接字绑定代码,从而导致异常。请建议我做什么??? Thankssssss ....

1 个答案:

答案 0 :(得分:2)

你可以通过多种方式做到这一点......

您可以声明一些静态getter / setter来管理组件的静态实例:

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();

你也可以在构造函数,属性或函数中传递类,但我不喜欢这种方式......