C# 如何打开两个窗口并使一个窗口控制某些变量

本文关键字:窗口 控制 一个 变量 何打开 两个 | 更新日期: 2023-09-27 18:36:22

好的,所以我会尽力解释这一点。我和我的一群朋友正在举办一个流媒体活动,作为观众的额外活动,我们决定在直播中运行我们自己的自定义 C# 游戏。

这是我的问题,我们希望在单独的窗口中使用某种表单框,以便我们也可以将其移动到第二个监视器。我们希望它在第二台显示器上,因为我们正在捕获整个屏幕,并且我们不希望他们(查看者)看到表单框。

我们需要这种形式来控制某些触发游戏中事件的变量,以增加AI的错觉。我不只是做人工智能的原因是因为我们希望它根据我们无法控制的观众做不同的事情。无论如何,在 C# 中可以实现这一点吗?

C# 如何打开两个窗口并使一个窗口控制某些变量

如果您创建了一个表示视图的类(如视图模型)。 它实现了 INotifyPropertyChanged...您可以创建一个公共静态实例(可能是单例),您可以将两个表单绑定到该实例。 如果属性是按如下所示创建的:

    private string _Message;
    public string Message
    {
        get { return _Message; }
        set
        {
            _Message = value;
            if (PropertyChanged != null)
                PropertyChanged(this, new PropertyChangedEventArgs("Message"));
        }
    }

当任一表单更新类实例上的值时,应通知这两个表单。

这不是线程安全的!!但这可能无关紧要。

在 form1 类中,为变量创建 getter 和 setter,然后从 form2 类调用它们。

public int value;
public void setValue(int val){
this.value = val;
}
public int getValue{
return this.value;
}