【发布时间】:2012-08-20 17:35:47
【问题描述】:
如果有人可以帮助我,我将不胜感激。
我有一个 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# 的新手,我已经对此进行了很多搜索,但似乎没有地方能准确回答我的问题。提前感谢您的帮助!
【问题讨论】:
-
我不知道如何修复错误的格式...抱歉..new here
-
这些编程基础知识有点过于宽泛,无法在 SO 帖子 (IHMO) 中回答。
-
您的表单类可能位于不同的命名空间中。要让智能感知访问属性,您需要在类的顶部添加一个“使用”语句,其中包含这些名称空间。
-
当你认为形式是
different而不是class.Form 是一个class时,所有的混乱都开始了。 想想你将如何访问另一个类的变量