从另一个对象方法调用表单方法

时间:2018-07-16 11:35:25

标签: c#

我试图通过引用传递表单,但它给出了:

  

“ Form”不包含的定义,也找不到可以接受“ Form”类型的第一个参数的扩展方法(您是否缺少using指令或程序集引用?)

代码如下:

    public class Foo
    {
      public void FooVoid()
      {
        Form1.FormVoid();
      }
    }

    public void FormVoid()
    {

    }

    public Program()
    {
        InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {

    }

1 个答案:

答案 0 :(得分:0)

声明一个类作用域变量,并在load事件/构造函数调用中引用主窗体。这不是最佳实践,但您没有提供太多有关要完成的任务的信息。

    public static Form1 form;

    public class Foo
    {
        public void FooVoid()
        {
            //Form1.FormVoid();

            //Then you have a reference to your Form1 and can call the method like this
            Form1.form.FormVoid()
        }
    }

    public void FormVoid()
    {

    }

    public Program()
    {
        InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {
        form = this;
    }