如果有人可以帮助我,我将不胜感激。
我有一个 Windows 窗体应用程序,它具有三种形式:form1、form2、form3。form1 在应用程序激活时启动。在form1上,有一个按钮可以调出form2,隐藏form1。还有一个按钮可以调出form3并在form2上隐藏form2。
public partial class Form1 : Form
{
Form2 f2= new Form2();
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
this.Hide();
f2.Show();
}
}
public partial class Form2 : Form
{
Form3 f3 = new Form3();
private void button1_Click(object sender, EventArgs e)
{
this.Hide();
f3.Show();
}
}
问题在form3上,我试图访问一些在form2中运行时分配了值的变量。我认为由于我将 f2 设为无模式形式,我应该能够通过简单地使用 f2.myvariables 来访问,但是智能感知并没有给我 f2 对象。这是为什么?我找到了一种将这些变量声明为 public static 的方法,因此我可以使用 form2.myvariables 进行访问。这是另一件让我感到困惑的事情。由于所有值都是在运行时分配的,静态变量如何做到这一点?我是 C# 的新手,我已经对此进行了很多搜索,但似乎没有地方能准确回答我的问题。提前感谢您的帮助!