如果此关键字引用类的当前实例作为程序类中的实例(Application.Run(new Form1()))
我们可以使用此关键字来访问它的属性
this .Text = "debuggging";
this .Opacity = 54;
this .ShowIcon = true;
this .Size = new Size(100, 100);
Run Code Online (Sandbox Code Playgroud)
为什么不能用Form1.ActiveForm达到它.*(所有房产)
只是出于好奇,但为什么
当像这样编码
Form1.ActiveForm.Text = "debugla";
Form1.ActiveForm.Opacity = 54;
Form1.ActiveForm.ShowIcon = true;
Form1.ActiveForm.Size = new Size(100, 100);
Run Code Online (Sandbox Code Playgroud)
和activeform必须为我们带来当前使用的活动表单
抛出null引用异常为什么?
ActiveForm返回活动窗体...这意味着如果您的窗口没有焦点,则它不是活动的。因此,以这种方式使用它会极大地冒着程序产生错误的风险。
使用this确保您正在访问您打算更改的表单
您还应该注意,这ActiveForm是一个静态属性,因此如果您在应用程序中打开了任何其他窗口,那么它与您正在使用它的表单没有任何链接,那么您的更改可以应用于这些其他对话框