Luk*_*kas 4 .net c# user-interface winforms
我有很多不同,UserControls并希望保持一致的UI设置(主要是颜色和字体).我的第一次尝试是这样的:
public class UISettings
{
//...
public void SetupUserControl(ref UserControl ctrl)
{
ctrl.BackColor = this.BackColor;
}
}
Run Code Online (Sandbox Code Playgroud)
在这样的每个控件中调用:
settings.SetupUserControl(ref this);
Run Code Online (Sandbox Code Playgroud)
由于它this是只读的,因此不能通过ref参数传递,因此这不起作用.如果不手动更改每个项目的属性,还有哪些其他选项可以保持一致的UI?
遗产!如果您的表单或控件将始终使用相同的样式,并且您希望将其设置为基础,则只需创建自己的用户控件(从表单/控件继承).默认情况下,所有表单都将继承自"表单".而不是从默认表单继承,创建一个继承自Form的新用户控件,然后将其作为基类.
CustomForm : Form // Your custom form.
Form1 : CustomForm // Inherit from it.
Run Code Online (Sandbox Code Playgroud)
......同样适用于组件.如果您希望按钮在整个板上具有相同的样式,请创建用户控件并使其从按钮控件继承 - 然后使用自定义控件.
每当您想要更改基本样式或任何设置时,只需更改自定义控件设置 - 您的新表单/控件将自动更新!
| 归档时间: |
|
| 查看次数: |
525 次 |
| 最近记录: |