我们怎样才能从一种形式改变所有其他形式的背景颜色?
How can we change the background color of all other forms from one form?
我们如何才能从一个表单 (settings.form) 更改所有其他表单的背景颜色?我想开发我的毕业设计。它是一个社交媒体桌面管理项目。我想用一个切换器将所有表单更改为暗模式。我怎样才能做到这一点?这是我的 settings.cs
public void checkBox1_CheckedChanged(object sender, EventArgs e)
{
if (checkBox1.Checked)
{
panel1.BackColor= Color.FromArgb(34, 36, 49);
form1.BackColor = Color.FromArgb(34, 36, 49);
form2.BackColor = Color.FromArgb(34, 36, 49);
this.BackColor = Color.FromArgb(34, 36, 49);
this.label1.BackColor = Color.White;
this.label1.ForeColor = Color.FromArgb(34, 36, 49);
}
else
{
this.BackColor = Color.White;
this.label1.BackColor = Color.FromArgb(34, 36, 49);
this.label1.ForeColor = Color.White;
}
form1.Show();
form1.Refresh();
form2.Show();
form2.Refresh();
切换时所有背景颜色都在变化。但是所有表格都是同时打开的。
您可以使用 (ApplicationSettings)
属性,可从表单设计器的 Properties
面板访问。展开 ApplicationSettings
,打开 PropertyBinding
对话框,将设置添加到 BackColor
属性(例如,CommonFormBackColor
),并对所有表单使用相同的设置。
您可以直接在应用程序设置的 PropertyBinding
对话框中创建设置:
这个新设置是在用户范围内创建的。
用户范围内的所有设置都基于每个用户应用并且可以更改。
Application Scope 中的设置被认为是只读的。
然后新设置将出现在 ApplicationSettings
可扩展 属性:
下
为更改此设置时应更改其背景颜色的所有表单指定相同的设置。
您当然可以将通用设置分配给任何其他控件的任何其他 属性。
使用 Form Template(或基本表单 class)可以使整个过程自动化。
当设置值在 运行 时更改时,所有打开的表单 - 以及稍后将打开的表单 - 将呈现相同的 BackColor
.
您可以为所有表单的背景颜色设置一个新值,更改设置的值:
(所有打开的表单共享相同的 BackGround
颜色设置将立即改变颜色)
Properties.Settings.Default.CommonFormBackColor = Color.Orange;
您可以通过以下方式保存当前设置选择(以保留在当前 会话 中分配的值,以便在应用程序重新启动时再次使用它):
Properties.Settings.Default.Save();
您可以重置默认值(最初分配给设计器中的设置的值)调用:
Properties.Settings.Default.Reset();
我们如何才能从一个表单 (settings.form) 更改所有其他表单的背景颜色?我想开发我的毕业设计。它是一个社交媒体桌面管理项目。我想用一个切换器将所有表单更改为暗模式。我怎样才能做到这一点?这是我的 settings.cs
public void checkBox1_CheckedChanged(object sender, EventArgs e)
{
if (checkBox1.Checked)
{
panel1.BackColor= Color.FromArgb(34, 36, 49);
form1.BackColor = Color.FromArgb(34, 36, 49);
form2.BackColor = Color.FromArgb(34, 36, 49);
this.BackColor = Color.FromArgb(34, 36, 49);
this.label1.BackColor = Color.White;
this.label1.ForeColor = Color.FromArgb(34, 36, 49);
}
else
{
this.BackColor = Color.White;
this.label1.BackColor = Color.FromArgb(34, 36, 49);
this.label1.ForeColor = Color.White;
}
form1.Show();
form1.Refresh();
form2.Show();
form2.Refresh();
切换时所有背景颜色都在变化。但是所有表格都是同时打开的。
您可以使用 (ApplicationSettings)
属性,可从表单设计器的 Properties
面板访问。展开 ApplicationSettings
,打开 PropertyBinding
对话框,将设置添加到 BackColor
属性(例如,CommonFormBackColor
),并对所有表单使用相同的设置。
您可以直接在应用程序设置的 PropertyBinding
对话框中创建设置:
这个新设置是在用户范围内创建的。
用户范围内的所有设置都基于每个用户应用并且可以更改。
Application Scope 中的设置被认为是只读的。
然后新设置将出现在 ApplicationSettings
可扩展 属性:
为更改此设置时应更改其背景颜色的所有表单指定相同的设置。
您当然可以将通用设置分配给任何其他控件的任何其他 属性。
使用 Form Template(或基本表单 class)可以使整个过程自动化。
当设置值在 运行 时更改时,所有打开的表单 - 以及稍后将打开的表单 - 将呈现相同的 BackColor
.
您可以为所有表单的背景颜色设置一个新值,更改设置的值:
(所有打开的表单共享相同的 BackGround
颜色设置将立即改变颜色)
Properties.Settings.Default.CommonFormBackColor = Color.Orange;
您可以通过以下方式保存当前设置选择(以保留在当前 会话 中分配的值,以便在应用程序重新启动时再次使用它):
Properties.Settings.Default.Save();
您可以重置默认值(最初分配给设计器中的设置的值)调用:
Properties.Settings.Default.Reset();