-2

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

这是我的问题,我们想要在一个单独的窗口中使用某种形式的表单框,这样我们就可以将它移动到第二个监视器中。我们希望它在第二个监视器上,因为我们正在捕获整个屏幕并且我们不希望他们(观众)看到表单框。

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

4

2 回答 2

0

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

public int value;

public void setValue(int val){
this.value = val;
}
public int getValue{
return this.value;
}
于 2012-06-06T18:23:13.560 回答
0

如果您创建了一个代表您的视图的类(如 ViewModel)。它实现了 INotifyPropertyChanged... 你可以创建一个公共静态实例(可能是一个单例),你可以将两个表单绑定到。如果您的属性是这样创建的:

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

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

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

于 2012-06-06T18:33:58.180 回答