通过函数添加按钮
本文关键字:按钮 添加 函数 | 更新日期: 2023-09-27 18:34:40
我想添加一个按钮,使用一个将所有参数放在一行中的函数,以保持它干净。但是如果我尝试通过 This.Controls.Add
添加按钮,我会收到一个错误,因为该功能是静态的。我应该写什么而不是This
(类似于Form1.Controls.Add
(,这样我就可以在一个函数中做所有事情?
您可以将表单作为静态函数的参数:
public static void CreateButton(Form targetForm, param1, param2, ...) {
Button b = new Button();
...
targetForm.Controls.Add(b);
}
。但是,除非此方法将用于将按钮添加到各种表单,否则我看不到像这样将其静态化的好处。 这似乎是一种 OO 反模式。 我可能会让它成为非静态的并使用this
.
我只会让你的函数返回按钮:
//Usage
this.Controls.Add(CreateButton(...));
//Function def
public static Button CreateButton(...)
{
Button createdButton = new Button();
...
return createdButton;
}
赋值返回赋值的结果(以便您可以链接它们(。因此,要内联赋值:
//With a variable (I did *not* say it was good practice to do this)
this.Controls.Add(myVar = CreateButton(...));