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

Судя по созданию sett вы так и не разобрались с изначальной проблемой в этой теме. :arrow_down:

так почему булл не меняется (если вместо res_12 = true/false; написать к примеру MessageBox.Show(“1”); то он выскакивает правильно!) поэтому экземпляр обьекта на это не влияет

Написать где именно?

И говорю же

смотрите проверил через дебаг, оказывается там bool нормально себя ведет! но когда дело доходит до этой строчки кода: guna2CirclePictureBox4.Visible = loa.res_12; то бул почемуто становится true всегда

простите, что Вы проверили через debug?

пройдитесь по коду и посмотрите все строчки, где создаётся НОВЫЙ ЭКЗЕМПЛЯР.
судя по всему, это происходит НЕ ОДИН РАЗ

image

image

зачем Вы создаёте ЕЩЁ один экземпляр ? Вы понимаете, что те изменения, которые Вы внесёте в него, никакого отношения к другому экземпляру иметь не будут?

Screenshot_64
Screenshot_65

loa это откуда?

Мой хрустальный шар считает, что и этой формы тоже несколько экземпляров создано.

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