dwa*_*arf 3 c# app-config winforms
我已经更改了我的app.config文件以允许用户更改程序的配色方案。我可以弄清楚如何更改他们更改这些设置的表单的背景颜色:
Color colBackColor = Properties.Settings.Default.basicBackground;
this.BackColor = colBackColor;
Run Code Online (Sandbox Code Playgroud)
但是如何更改所有表单的背景颜色?就像我仍然想将所有表单传递给一个函数。我已经问过这个问题,有人告诉我使用该app.config文件。现在我这样做了,我用错了吗?
只是您需要一个基本表单,您项目中的所有表单都必须从中继承:
public class FormBase : Form {
protected override void OnLoad(EventArgs e){
Color colBackColor = Properties.Settings.Default.basicBackground;
BackColor = colBackColor;
}
}
//Then all other forms have to inherit from that FormBase instead of the standard Form
public class Form1 : FormBase {
//...
}
public class Form2 : FormBase {
//...
}
Run Code Online (Sandbox Code Playgroud)
public interface INotifyChangeStyle {
void ChangeStyle();
}
public class FormBase : Form, INotifyChangeStyle {
protected override void OnLoad(EventArgs e){
ChangeStyle();
}
public void ChangeStyle(){
//Perform style changing here
Color colBackColor = Properties.Settings.Default.basicBackground;
BackColor = colBackColor;
//--------
foreach(var c in Controls.OfType<INotifyChangeStyle>()){
c.ChangeStyle();
}
}
}
public class MyButton : Button, INotifyChangeStyle {
public void ChangeStyle(){
//Perform style changing here
//....
//--------
foreach(var c in Controls.OfType<INotifyChangeStyle>()){
c.ChangeStyle();
}
}
}
//... the same for other control classes
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2033 次 |
| 最近记录: |