C# 在表单之间发送变量
我正在制作一个游戏,我使用了三种主要形式,一种是开始菜单,一种是主要游戏形式,另一种是创建地图形式。我的问题是如何在它们之间发送变量。我知道经典的表单设置,你可以从一个表单显示另一个表单,然后像这样传递信息C# 在表单之间发送变量,c#,forms,C#,Forms,我正在制作一个游戏,我使用了三种主要形式,一种是开始菜单,一种是主要游戏形式,另一种是创建地图形式。我的问题是如何在它们之间发送变量。我知道经典的表单设置,你可以从一个表单显示另一个表单,然后像这样传递信息 Form1 form = new Form1(); form.Show(); form.varible = ... 但是我不喜欢上一个表单的显示方式,而且form.ShowDialog也不是我想要的。我有一个系统,你可以循环浏览表单,它可以打开你的新表单,关闭旧表单,它工作得很好,只
Form1 form = new Form1();
form.Show();
form.varible = ...
但是我不喜欢上一个表单的显示方式,而且form.ShowDialog
也不是我想要的。我有一个系统,你可以循环浏览表单,它可以打开你的新表单,关闭旧表单,它工作得很好,只是我不知道如何向新表单发送信息。我把Program.cs代码改成这样
public static bool OpenForm1OnClose { get; set; }
public static bool OpenForm2OnClose { get; set; }
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
OpenForm1OnClose = true;
OpenForm2OnClose = false;
while (OpenForm1OnClose || OpenForm2OnClose)
{
if(OpenForm1OnClose)
Application.Run(new Form1());
if (OpenForm2OnClose)
Application.Run(new Form2());
}
}
这就是所有的代码,没有更多的东西了。任何关于如何传递变量的想法都是非常棒的,或者如果不可能的话,关于在表单之间切换的好方法的建议都会很有帮助。感谢阅读如果你问我的想法,答案很简单。您只需要让构造函数将信息作为参数
private var myInfo;
public Form1(var myInfo_)
{
InitializeComponent();
myInfo = myInfo_;
}
我希望这实际上就是您想要的。只需向您的应用程序中添加一个负责数据流的类即可。它可以是一个静态类,也可以是一个Singleton,没什么大不了的。我会更深入地研究静态类,我不是一个经验丰富的程序员,但我知道你在想什么,它应该可以工作,谢谢。聪明,但不幸的是,我无法发送任何用途的变量,因为它在调用表单的program.cs中,我不知道我要送什么。
private var myInfo;
public Form1(var myInfo_)
{
InitializeComponent();
myInfo = myInfo_;
}