Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
0 / 0 / 1
Регистрация: 08.08.2017
Сообщений: 92
1
.NET 4.x

Сохранение свойств при скрытии и открытии формы

08.03.2018, 10:53. Показов 1988. Ответов 12
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет, имеется две формы form1 и form2.
Проблема вот в чем: при запуске программы открывается form1 здесь я загружаю файл, на кнопке изменяется текст и передаю значение символов в прогресс бар второй формы, после чего я захожу на form2, но там ничего не отображается, захожу обратно на form1 и там текст кнопки стандартный, подскажите как исправить.
Формы пытался скрывать по разному и через Show/Hide и через visible=true/false
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.03.2018, 10:53
Ответы с готовыми решениями:

Очистка checkedlistbox при скрытии формы и открытии формы
Здравствуйте! Подскажите, мне нужно чтоб при скрытии формы checkedlistbox очищался, а при открытии...

Загрузка и сохранение данных при открытии и закрытии формы в ListView
Короче говоря мучаюсь битый день с сохранением всего что есть в ListView и последующей загрузки...

Прекращается цикл при скрытии формы
Всем привет. Такая проблема: когда скрываю первую форму и в ней выполняется цикл, он прекращается....

При скрытии формы программа не работает
прога смотрит раскладку клавиатуры если она русская - светодиод скрол лок не светится если любая...

12
Администратор
Эксперт .NET
17019 / 13372 / 5217
Регистрация: 17.03.2014
Сообщений: 27,342
Записей в блоге: 1
08.03.2018, 16:33 2
Gisok, показывай код
0
0 / 0 / 1
Регистрация: 08.08.2017
Сообщений: 92
08.03.2018, 16:37  [ТС] 3
OwenGlendower,
Здесь загружается файл, и значения колличество строк передается в первую форму
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
private void button2_Click(object sender, EventArgs e)
        {
            using (OpenFileDialog dialog = new OpenFileDialog()) // создание нового OpenFileDialog
            {
                dialog.Filter = "Текстовые файлы|*.txt"; // отображение файлов с расширением .txt
                if (dialog.ShowDialog() == DialogResult.OK) // если выбираем файл и нажимаем кнопку ОК
                {
                    Listing.tempbase.Clear();
                    Listing.tempbase.AddRange(File.ReadAllLines(dialog.FileName));
                    loadbase.Text = Listing.tempbase.Count.ToString();
                    Asinger.Form1 form1 = new Asinger.Form1();
                    form1.progressBar1.Maximum = Listing.tempbase.Count();
                    form1.progressbar.Text =  "0/" + Listing.tempbase.ToString();
                }
            }
        }
А вот код который переходи в первую форму.
C#
1
2
3
4
5
6
private void home_Click(object sender, EventArgs e)
        {
            Asinger.Form1 form1 = new Asinger.Form1();
            form1.Visible = true;
            this.Visible = false;
        }
0
Администратор
Эксперт .NET
17019 / 13372 / 5217
Регистрация: 17.03.2014
Сообщений: 27,342
Записей в блоге: 1
08.03.2018, 16:41 4
Gisok, каждый метод создает свой экземпляр Asinger.Form1 и поэтому изменения сделанные в одном методе никогда не будут видны в другом. Как исправить подумай самостоятельно.
0
0 / 0 / 1
Регистрация: 08.08.2017
Сообщений: 92
08.03.2018, 16:52  [ТС] 5
OwenGlendower, помогло, но если я опять захожу во вторую форму, то там все сбивается, с первой формой так же при повторном открытии (перешел во вторую, потом опять в первую)
0
Администратор
Эксперт .NET
17019 / 13372 / 5217
Регистрация: 17.03.2014
Сообщений: 27,342
Записей в блоге: 1
08.03.2018, 17:09 6
Gisok, значит неправильно исправил. Продолжай думать дальше.
0
0 / 0 / 1
Регистрация: 08.08.2017
Сообщений: 92
08.03.2018, 17:14  [ТС] 7
OwenGlendower,
А куда еще можно его запихнуть?
Миниатюры
Сохранение свойств при скрытии и открытии формы  
0
0 / 0 / 1
Регистрация: 08.08.2017
Сообщений: 92
08.03.2018, 17:18  [ТС] 8
В первой форме вообще ошибка выходит если сделать так же
Миниатюры
Сохранение свойств при скрытии и открытии формы  
0
Администратор
Эксперт .NET
17019 / 13372 / 5217
Регистрация: 17.03.2014
Сообщений: 27,342
Записей в блоге: 1
08.03.2018, 17:21 9
Лучший ответ Сообщение было отмечено Gisok как решение

Решение

Gisok, дело в первую очередь не в том "куда пихать", а как соотносится экземпляр формы записанной в поле классе с ранее открытой формой. Ответ - никак не соотносится. Это разные экземпляры. Еще раз подумай как обращаться к уже созданной форме.

Цитата Сообщение от Gisok Посмотреть сообщение
В первой форме вообще ошибка выходит если сделать так же
Перефразируя Шелдона Купера - Oh infinite recursion, thou art a heartless bitch.
1
0 / 0 / 1
Регистрация: 08.08.2017
Сообщений: 92
08.03.2018, 18:09  [ТС] 10
OwenGlendower, Блин, я не понимаю как, из твоих слов я понял, что каждый раз я открываю новую форму, но как сделать открытие старой формы?
0
0 / 0 / 1
Регистрация: 08.08.2017
Сообщений: 92
09.03.2018, 13:35  [ТС] 11
OwenGlendower, нарыл тут кое что, вот как у меня открывается вторая форма
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
private void settings_Click(object sender, EventArgs e)
        {
            bool IsOpen = false;
            for (int i = 0; i <= Application.OpenForms.Count - 1; i++)
            {
                // Ищем нужную форму
                if (Application.OpenForms[i].Name == "Settings")
                {
                    //Если форма уже открыта то передаем ей фокус                
                    IsOpen = true;
                    Application.OpenForms[i].Show();
                    this.Hide();
                    break;
                }
            }
            if (IsOpen == false)
            {
                //Если форма не открыта 
                //То вызываем ее
                Settings seting = new Settings();
                seting.Name = "Settings";
                seting.Show();
                this.Hide();
            }
        }
Но теперь у меня проблема с передачей значений из второй формы в первую см.Скрин
Миниатюры
Сохранение свойств при скрытии и открытии формы  
0
0 / 0 / 1
Регистрация: 08.08.2017
Сообщений: 92
09.03.2018, 14:36  [ТС] 12
OwenGlendower, спасибо, хороший у тебя подход на счет посиди подумай сам))
0
Администратор
Эксперт .NET
17019 / 13372 / 5217
Регистрация: 17.03.2014
Сообщений: 27,342
Записей в блоге: 1
09.03.2018, 15:14 13
Цитата Сообщение от Gisok Посмотреть сообщение
спасибо, хороший у тебя подход на счет посиди подумай сам))
Готовое решение "на блюдце" хуже запоминается. Самостоятельно найденное решение запоминается надолго. В данном случае это особенно полезно т.к. речь о самых простых принципах .NET приложений.
0
09.03.2018, 15:14
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.03.2018, 15:14
Помогаю со студенческими работами здесь

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

Пропадает иконка с трэя при скрытии главной формы
Всем доброго времени суток. Друзья, такая ситуация: Скрываю главную форму и показываю вторичную:...

При скрытии основной формы пропадает значок на панели задач
Всем привет! Делаю программу, в функционал которой входит тестирование и создание пользовательского...

При скрытии главной формы пропадает значок на панели задач
Если скрыть первую форму, а вторую открыть то на панели задач приложение пропадёт. Как сделать так...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru