Как изменить фоновый цвет главной формы?

Делаю приложение, и не получается изменить фоновый цвет главной формы, в чем проблема? При выборе параметра в comboBoxBackgroundСolor должен меняться BackColor у FormMain.

Код:

public partial class FormHelp : Form
    {

        public FormHelp()
        {
            InitializeComponent();
            comboBoxBackgroundColor.Items.Add("Белый" + Environment.NewLine);
            comboBoxBackgroundColor.Items.Add("Черный" + Environment.NewLine);
        }

        private void comboBoxBackgroundColor_SelectedIndexChanged(object sender, EventArgs e)
        {
            FormMain f1 = new FormMain();
            switch (comboBoxBackgroundColor.SelectedIndex)
            {
                case 0: f1.BackColor = SystemColors.Control; break;
                case 1: f1.BackColor = SystemColors.Desktop; break;
            }

        }
    }

Скриншоты форм:

скрины форм


Ответы (1 шт):

Автор решения: aepot

Вы создаете еще одно окно, а надо менять фон текущего.

private void comboBoxBackgroundColor_SelectedIndexChanged(object sender, EventArgs e)
{
    switch (comboBoxBackgroundColor.SelectedIndex)
    {
        case 0: Owner.BackColor = Color.White; break;
        case 1: Owner.BackColor = Color.Black; break;
    }
}

А создавать дочернее окно можно так

FormHelp formHelp = new FormHelp();
formHelp.Owner = this;
FormHelp.Show(); // или ShowDialog(), протестируйте разницу, она есть
→ Ссылка