今天我尝试创建一个可重用的框架,我没有遇到任何问题...我创建了一个包含类 Game 的新文件“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 将此文件添加到一个新的 Form 项目 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
时出现 his Form 而且 具有我在构造函数中设置的属性 游戏
类?这不是问题,但我想知道当我设置时会发生什么:this.Form = Form
。 它真的像指针一样工作吗?有人可以向我解释这种行为吗?谢谢!
最佳答案
class Game
{
Form Form;
}
这里的 Form
字段只是对另一个表单的引用,您可以在 Game
类的构造函数中获取该引用。通常这样做是为了在子窗体中保留对所有者窗体的引用。当您在构造函数中设置 Form
属性时,实际上是在修改所有者表单。
关于c# - 表单是否像指针一样工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8026926/