С Новым годом! Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
 Аватар для GarZa
12 / 12 / 1
Регистрация: 23.03.2014
Сообщений: 86
.NET 4.x

Странное поведение программы при WindowState = Maximized

23.03.2014, 18:08. Показов 2607. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
всем доброго времени суток!
.NET 4.5.1, MS VS 2012, Win 8.

Написал часть кода при сабжевом свойстве "Normal" главной формы.
По коду, во время загрузки главной формы, проверяется наличие .xml файла, если его нет - предлагается создать пустой. Все работало без проблем.

Потом выставил в "Maximized" свойство главной формы. Программа при запуске выдает якобы отсутствие .xml-ки, причем диалог на предложение его создание не реагирует даже на return (YesNo там).

Вернул в "Normal" - все хорошо.

Не подскажете с чем связано? Может сталкивался кто.

С уважением...

Добавлено через 1 час 36 минут
и тишина...
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.03.2014, 18:08
Ответы с готовыми решениями:

Странное поведение event-ов
Всем доброго дня! Подскажите, кто знает, в чем может быть проблема. Есть структура такого типа: class parent { ...

Странное поведение HttpWebRequest
Делаю запрос к серверу на получение данных через HttpWebRequest. Сами данные в виде JSON, и их по задумке авторов должен получать браузер...

Странное поведение мьютекса
Имеется такой кусок кода Mutex instanse; bool is_new; instanse = new Mutex(true,...

9
Master of Orion
Эксперт .NET
 Аватар для Psilon
6101 / 4957 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
23.03.2014, 18:16
GarZa, ну раз тишина - значит не сталкивались, или всем сочувствующим писать? )

Какой-то редкий баг в совокупности каких-то параметров. Неужели дебаг ничего не дает?..
0
 Аватар для GarZa
12 / 12 / 1
Регистрация: 23.03.2014
Сообщений: 86
23.03.2014, 18:58  [ТС]
или всем сочувствующим писать? )
почему бы и нет? блиииинн....я расстроен...

Добавлено через 19 минут
валится на этой строке во время активации формы:

C#
1
MainObjReader = XmlReader.Create(MainObjPath.Value, new XmlReaderSettings());
"Значение не может быть неопределенным"

хотя во время загрузки формы прописан глобальный класс (через Programm.cs):

C#
1
MainObjPath.Value = ".\\data\\MainObj.xml";
и значение MainObjPath.Value действительно null. Во как...

Добавлено через 21 минуту
прописал вместо переменной полный путь... стало указывать на другую ошибку (копирую часть кода), вторая ошибка в строчке 7:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
XmlReader MainObjReader;
                MainObjReader = XmlReader.Create(".\\data\\MainObj.xml", new XmlReaderSettings());
                DataSet ds = new DataSet();
                ds.ReadXml(MainObjReader);
                GridMain.DataSource = ds;
                GridMain.DataMember = "object";
                [B]int FirstRowDel = GridMain.SelectedCells[0].RowIndex;[/B]
                GridMain.Rows.RemoveAt(FirstRowDel);
                GridMain.Columns["code"].DisplayIndex = 0;
                GridMain.Columns["code"].HeaderText = "Уникальный код";
                GridMain.Columns["areal"].DisplayIndex = 1;
                GridMain.Columns["areal"].HeaderText = "Населенный пункт";
                .....
Переменная FirstRowDel, в точке останова равна 0, как и должно...
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6101 / 4957 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
23.03.2014, 18:59
GarZa, во время загрузки формы это где?
0
 Аватар для GarZa
12 / 12 / 1
Регистрация: 23.03.2014
Сообщений: 86
23.03.2014, 19:01  [ТС]
GarZa, во время загрузки формы это где?
C#
1
2
3
4
5
private void FormMain_Load(object sender, EventArgs e)
        {
            
            MainObjPath.Value = ".\\data\\MainObj.xml";
            ........
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6101 / 4957 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
23.03.2014, 19:02
GarZa, а что если сделать форму normal, а в конце form_load сделать maximized?
0
 Аватар для GarZa
12 / 12 / 1
Регистрация: 23.03.2014
Сообщений: 86
23.03.2014, 19:10  [ТС]
GarZa, а что если сделать форму normal, а в конце form_load сделать maximized?
да, уже делал так - все ок работает...оно и работает, коль пользователь сам окно разворачивает на весь экран...но только... все же охота вырыть причину то...

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

очень хочется разобраться...

ЗЫ в VS 2013 такая же беда..
0
 Аватар для golandy
73 / 73 / 20
Регистрация: 11.01.2014
Сообщений: 252
Записей в блоге: 2
23.03.2014, 22:52
так может весь проект скинули бы?

Добавлено через 2 часа 18 минут
странно но все вроде работает. Вот только WindowState как не живой - не реагирует никак. Посмотрю еще этот нюанс.

Добавлено через 1 час 3 минуты
а нет поспешил, есть что то

Добавлено через 12 минут
В программе все работает нормально. В обработчик FormMain_Load() вставьте в конце
C#
1
this.WindowState = FormWindowState.Maximized;
Если будете пытаться это сделать в дезайнере, то естественно вы получите ошибку, т.к. сработает обработчик FormMain_Activated(), а FormMain_Load() еще не выполнился, где вы инициализируете MainObj.Value.
1
 Аватар для GarZa
12 / 12 / 1
Регистрация: 23.03.2014
Сообщений: 86
24.03.2014, 07:53  [ТС]
а почему тогда работает ровно, если WindowState = Normal? MainObj.Value тогда нормально инициализируется...я, видимо, не не знаю каких-то тонкостей...буду рад краткому ликбезу..
0
 Аватар для golandy
73 / 73 / 20
Регистрация: 11.01.2014
Сообщений: 252
Записей в блоге: 2
24.03.2014, 11:02
Лучший ответ Сообщение было отмечено GarZa как решение

Решение

Цитата Сообщение от GarZa Посмотреть сообщение
а почему тогда работает ровно, если WindowState = Normal?
у вас тогда FormMain_Activated() не срабатывает, а сразу отрабатывает FormMain_Load(), где инициализируется переменная нормально. В вашем случае важен порядок выполнения событий.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.03.2014, 11:02
Помогаю со студенческими работами здесь

Поведение программы при проверке обновлений
Ребята... Я перелазил весь майкрасофтовский сайт MSDN и не нашёл не чего дельного и понятного =( Мне сказали из этого можно сделать...

Странное поведение .NET Framework 4.0
Есть подобная структура: public class B { public int field1; public string field2; } ...

Странное поведение метода Sort()
Добрый день. Подскажите пожалуйста по C#. У меня есть некоторый объект List. Применяют к нему сортировку вот так: ...

Странное поведение Command Line Parser
Работаю с https://commandline.codeplex.com Создал простой класс опций: sealed class Options { public string InputFile...

Странное поведение при сохранении через LINQ в MS SQL Server
Добрый день! Есть код: using System; using System.Collections.Generic; using System.Linq; using System.Text; using...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru