Как мы можем изменить цвет фона всех других форм из одной формы? - PullRequest
2 голосов
/ 11 апреля 2020

Как мы можем изменить цвет фона всех других форм из одной формы (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();

Все цвета фона меняются при переключении. Но все формы открываются одновременно.

1 Ответ

5 голосов
/ 11 апреля 2020

Вы можете использовать свойство (ApplicationSettings), доступное на панели Properties дизайнера форм. Разверните ApplicationSettings, откройте диалоговое окно PropertyBinding, добавьте параметр в свойство BackColor (например, CommonFormBackColor) и используйте один и тот же параметр для всех форм.

Вы можете создать настройку непосредственно в диалоговом окне «Настройки приложения» PropertyBinding:

Properties Application Settings New

Эта новая настройка создается в Пользовательская область.
Все настройки в пользовательской области применяются отдельно для каждого пользователя и могут быть изменены.
Настройки в прикладной области считаются доступными только для чтения.

Properties Application Settings Add

Новая настройка появится под расширяемым свойством ApplicationSettings:

Properties Application Settings

Назначить одну и ту же настройку всем формам, которые должны изменить свой BackColor при изменении этой настройки.
Конечно, вы можете назначить общую настройку для любого другого свойства любого другого элемента управления.

Использование Form Form (или базового класса Form) может автоматизировать весь процесс.

Когда значение параметра изменяется во время выполнения, все открытые формы - и те, которые будут открыты позже - будут представлять одинаковые BackColor.

Вы можете установить новое значение для всех BackColor формы, изменив значение настроек:
(все открытые формы, имеющие одинаковые настройки для BackGround Цвета, сразу изменят цвет)

Properties.Settings.Default.CommonFormBackColor = Color.Orange;

Вы можете сохранить текущий выбор настроек (чтобы сохранить значение, назначенное в текущем сеансе , поэтому оно будет использоваться снова при перезапуске приложения) с помощью:

Properties.Settings.Default.Save();

Вы можете сбросить значение по умолчанию (значение, изначально присвоенное настройкам в Designer), вызвав:

Properties.Settings.Default.Reset();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...