如何从一个表单脚本访问变量到C#中的另一个表单脚本?

时间:2018-05-17 08:54:07

标签: c# forms variables inheritance label

我尝试使用Windows Forms和C#语言在Visual Studio上制作回合制RPG游戏,作为学习的替代方案。 但无论我搜索多少(我认为我几乎搜索了整个互联网),似乎这个星球上没有人曾经问过这个问题...... 问题是: 我有两种形式,第一个是c#脚本,我存储了关于播放器(健康,力量等)的每一个基本信息的地方,然后我有第二个表格,这是我放的表格屏幕,包含我存储在第一个表单脚本中的播放器信息的标签。 但似乎我不能这样做,因为没有关于在另一个表单上显示在第一个表单上声明的任何公共静态int或字符串变量的信息。

我需要使用某种类型的参考?或者我应该创建一个"主脚本文件"存储这些值?

如果有人可以请解释我如何获取有关变量的信息,直到现在我还没有使用,并将其放在以另一种形式安装的标签上,我将永远感激不尽。 感谢您阅读这么多文字,我希望我的英语不是那么糟糕(不是我的母语)。

1 个答案:

答案 0 :(得分:0)

在你来Stack Overflow询问之前,你应该先完成基础教程或阅读一本书。

通常你会创建一个存储玩家信息的class

internal class PlayerInfo
{
    public string Name { get; set; }

    public int Health { get; set; }
}

然后,您的表单会保存PlayerInfo类型的私有变量,如下所示:

private PlayerInfo playerInfo;

为整个程序创建一个实例

this.playerInfo = new PlayerInfo
{
    Name = "Player1",
    Health = 100
}

我假设您想要以第一种形式创建该实例并将其传递给第二种形式。在创建第二个表单时,您需要constructor接受PlayerInfo作为参数。

public Form2(PlayerInfo playerInfo)
{
    this.playerInfo = playerInfo;
    ...
}

在这两种形式中,您都可以使用this.playerInfo.Healththis.playerInfo.Name等来访问播放器的信息。