C# 如何从一个窗体启用另一个窗体中的按钮?

C# 如何从一个窗体启用另一个窗体中的按钮?,c#,C#,我正在制作一个迷宫,我想让我的“2级”按钮(在主窗体中)在玩家完成1级(在窗体1中)时启用。 那么我应该怎么做呢?在LevelForm上创建一个新事件,例如: public event Action LevelCompleted; 完成关卡后触发该事件: //run this code as soon as you know the level is completed if(LevelCompleted != null) LevelCompleted(); level1Form.L

我正在制作一个迷宫,我想让我的“2级”按钮(在主窗体中)在玩家完成1级(在窗体1中)时启用。
那么我应该怎么做呢?

在LevelForm上创建一个新事件,例如:

public event Action LevelCompleted;
完成关卡后触发该事件:

//run this code as soon as you know the level is completed
if(LevelCompleted != null)
    LevelCompleted();
level1Form.LevelCompleted += () => level2Button.Enabled = true;
然后让主窗体订阅该事件,并在级别完成时执行…任何操作:

//run this code as soon as you know the level is completed
if(LevelCompleted != null)
    LevelCompleted();
level1Form.LevelCompleted += () => level2Button.Enabled = true;

如何创建和显示
表格1
?您可以发布该位的代码吗?
MainForm.Level2Button.Enabled=true访问另一个表单与访问C#中的任何其他对象没有什么不同。如果方法/字段是公共的,并且您有一个实例、对实例的引用或那些字段是静态的,那么您可以像使用任何其他类属性/方法一样使用它们。这可能不是最佳实践(idk,因为我不处理愚蠢的表单:),但它是有效的