c# - 连接 Program.cs 和 Form.cs

标签 c# winforms methods static

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

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

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

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

public void Toggle()
    {
        MyDomainUpDown.SelectedIndex = 3;
    }

程序.cs:

MainForm.Toggle();

最佳答案

为什么不能从 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);
    }

}

关于c# - 连接 Program.cs 和 Form.cs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6190344/

相关文章:

c# - 在网站上执行定时任务 - 最佳实践?

c# - 自定义工具错误 : Failed to generate file

c# - 防止 ListView 丢失所选项目

c# - 线程未启动

java - 无法使用java中另一个类的公共(public)方法

c# - 如何更改datagridview中的mysql查询?

javascript - 输入类型文本不应是可编辑的

objective-c - 如何在子类中正确覆盖 Objective-C 中的类方法?

c# - 在 C# 中处理可以为 null 或数组的 json 类型

ios - 调用从 NSString 返回值的方法?