一个连接 Program.cs 和 Form.cs

Or *_*lel 3 c# methods static winforms

我的 Form.cs 中有一个函数,我想在我的 program.cs 中调用它

但是如果函数不是静态的,program.cs 就不能使用了。如果它是静态的,Form.cs 就不能使用它,因为它涉及非静态的控件。

我可以删除我的 program.cs 代码并找到一种在 form.cs 中执行相同操作的方法,但我想知道是否有更简单的方法。

这通常是 form.cs 中的函数所做的

public void Toggle()
    {
        MyDomainUpDown.SelectedIndex = 3;
    }
Run Code Online (Sandbox Code Playgroud)

程序.cs:

MainForm.Toggle();
Run Code Online (Sandbox Code Playgroud)

Jim*_*hel 5

为什么你不能从你的 program.cs 访问它?

您可以轻松定义一个变量来保存表单,然后引用它:

static class Program
{
    // Any method can now access the form
    static Form1 MyForm;

    [STAThread]
    static void Main()
    {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        MyForm = new Form1();
        Application.Run(MyForm);
    }

}
Run Code Online (Sandbox Code Playgroud)