То, что вы пытаетесь сделать, не работает, потому что вы создаете NEW экземпляр своей основной формы и обновляете его, а не первый экземпляр. Можно обновить основную форму, сохранив ссылку на нее в форме настроек ... , но ...
... звучит так, как будто вы приближаетесь к этому с неправильного направления.
Не делайте форму настроек зависимой от основной формы. Вместо этого создайте форму настроек в главном диалоговом окне.
class SettingsForm : Form
{
// You need to ensure that this color is updated before the form exits
// either make it return the value straight from a control or set it
// as the control is updated
public Color OLVAltBackColor
{
get;
private set;
}
}
В вашей основной форме
(Я предполагаю, что какая-то кнопка или щелчок меню)
private void ShowSettingsClicked(object sender, EventArgs args)
{
using (SettingsForm settings = new SettingsForm())
{
// Using 'this' in the ShowDialog parents the settings dialog to the main form
if (settings.ShowDialog(this) == DialogResult.OK)
{
// update settings in the main form
this.OLVAltBackColor = settings.OLVAltBackColor;
}
}
}