Нужно создать перезапуск програмы с сохранением условия чекбокса

loader loa = new loader();

:captainobvious:

Я имел в виду где это происходит.
Ну или точнее происходит ли это более одного раза за время работы программы.

Если да, то :arrow_down:

нет это происходит 1 раз

Точно?)

Ctrl+Shift+F, new loader



да точно

Так и что точно если тут нашлось два места где это происходит?)

image

и что

Читайте тему с самого начала про экземпляры, невидимые формы и т.д.

посути вот в чем проблема

Так это симптом, а не причина.
И он будет появляться снова и снова на каждом шагу, пока не поймете то, что тут было многократно описано про экземпляры классов.

Screenshot_67


вот полное описание проблемы если вы не поняли

Это вы не поняли :kolobokbatya:

На этом скриншоте не видно, но наверняка тут разные экземпляры loader с разными экземплярами sett.
Поэтому


        public void SetLabelStatusText1(string value) => Invoke(((Action<string>)((e) => label5.Text = e)), new object[] { value });

        Settings_1 sett = new Settings_1();
        public bool res_12 = true;

        public loader()
        {
            InitializeComponent();
        }


        private async void loader_Load(object sender, EventArgs e)
        {
           
            int h = 1;
            bool mBool = false;
            label3.Text = "Загрузка скриптов...";
            if (sett.desing_Dropdown1.selectedIndex == h)
            {
                res_12 = true;
            }
            else
            {
                res_12 = false;
            }

            this.Hide();

            form1.ShowDialog();

            this.Close();

        }
        public bool res_13 = true;
res_13 = res_12;

а если в конце создать другой бул который примет новое значение которое у прошлого була (потомучто вдруг код читает дефолт значение була а не то какое оно стало) только проблема что бул 13 не хочет присваиватьзначение була 12

В смысле “вдруг”?
Тут так и есть, потому что событие Load вызывается только когда форма начинает выводиться на экран, после вызова .Show() или при запуске программы при вызове Application.Run(form).

Соответственно у невидимой формы отсюда

обработчик события Load не вызывается.

и что делать

и не создавать лишние экземпляры форм.

лишнее экземпляры не создаются

имено

при проверке була он не учитывает эту строчку кода и берет дефолт значение! причем здесь экземпляры

Так а это что?

Выше написано почему весь этот обработчик события не выполняется во втором экземпляре.

это открытие програмы и там на load экземпляр не берется