表单是否像指针一样工作?

时间:2011-11-06 12:15:02

标签: c# winforms pointers

今天我尝试创建一个可重用的框架,我没有问题这样做...我创建了一个包含类游戏的新文件“Game.cs”:

class Game
{
    Form Form;

    public Game(Form Form, int Width, int Height)
    {
        //Set Form
        this.Form = Form;
        this.Form.MaximizeBox = false;
        this.Form.FormBorderStyle = FormBorderStyle.Fixed3D;
        this.Form.Size = new Size(Width, Height);
    }
}

然后我使用VisualStudio将此文件添加到新的表单项目Framework_Demo中,它包含以下内容:

namespace Framework_Demo
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            //Here I created a new Object game using class Game
            Game game = new Game(this, 600, 600);
        }
    }
}

也许这很简单,我的问题可能已经过时了,但是为什么我调试Framework_Demo时出现他的表单,而且还有我在中设置的属性强> Game上课?这不是问题,但我想知道当我设置时会发生什么:this.Form = Form它真的像指针一样工作吗?有人可以向我解释这种行为吗?谢谢!

1 个答案:

答案 0 :(得分:1)

是的,它通过将引用保留到表单本身来作为指针。

只要game实例存在,该类对其Form成员所做的任何更改都将影响实际形式。