Форум программистов, компьютерный форум CyberForum.ru

C# .NET

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.75
newman123
4 / 4 / 1
Регистрация: 28.07.2009
Сообщений: 13
#1

Windows Form и меняющийся размер окон - C#

13.08.2009, 12:31. Просмотров 1476. Ответов 5
Метки нет (Все метки)

Есть форма PatternDictionaries, с которой наследуются около 20 форм. После некоторых глюков с размерами этих форм решил потестить сам образец.
Вот вырезка из кода PatternDictionaries:
C#
1
2
3
4
5
6
7
8
9
10
11
12
 //конструктор
        public PatternDictionaries()
        {
            InitializeComponent();
            MessageBox.Show(this.Width.ToString());
        }
 
        //загрузка формы
        private void PatternDictionaries_Load(object sender, EventArgs e)
        {
            MessageBox.Show(this.Width.ToString());
        }
В первом сообщении показывается ширина формы 700, во втором 1025.
В конструкторе InitializeComponent только одно событие:
C#
1
 this.Load += new System.EventHandler(PatternDictionaries_Load);
Вот ума не приложу почему ширина формы разная появляется. Вроде не может быть никаких других стандартных методв между констуктором и Ford_Load.

Куда смотреть, что делать?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.08.2009, 12:31     Windows Form и меняющийся размер окон
Посмотрите здесь:

Windows Form C#
C# Windows Form
Windows Form Application C#
2 окна в windows form C#
C# C# windows form
Windows form и интернет C#
Калькулятор С# Windows Form C#
Калькулятор С# Windows Form C#
C# Музыка в Windows Form
C# WMP в Windows Form
Язык в Windows Form C#

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MAcK
Комбайнёр
1554 / 651 / 21
Регистрация: 27.05.2008
Сообщений: 2,535
13.08.2009, 13:05     Windows Form и меняющийся размер окон #2
ГЫ

Не по теме:

ЗЫЖ а Вы можете сразу выстваить ширину формы PatternDictionaries в кострукторе, которая Вам нужна?

newman123
4 / 4 / 1
Регистрация: 28.07.2009
Сообщений: 13
13.08.2009, 13:18  [ТС]     Windows Form и меняющийся размер окон #3
Цитата Сообщение от IT-Skyline Посмотреть сообщение
ГЫ

Не по теме:

ЗЫЖ а Вы можете сразу выстваить ширину формы PatternDictionaries в кострукторе, которая Вам нужна?

Так я и выставляю, но в методе Form_Load они сбрасываются на какие-то неизвестные мне настройки(
M128K145
Эксперт C++
8280 / 3499 / 143
Регистрация: 03.07.2009
Сообщений: 10,707
13.08.2009, 13:21     Windows Form и меняющийся размер окон #4
В смысле ширина формы разная? Сама форма разная по размерам, или выводятся данные о размере не корректно?
newman123
4 / 4 / 1
Регистрация: 28.07.2009
Сообщений: 13
13.08.2009, 14:33  [ТС]     Windows Form и меняющийся размер окон #5
Цитата Сообщение от M128K145 Посмотреть сообщение
В смысле ширина формы разная? Сама форма разная по размерам, или выводятся данные о размере не корректно?
Выводятся неверные данные о размере формы (ширину как пример взял)

Т.е.:
В конструкторе выставляю ширину формы 700px, в конструкторе выскакивает сообщение, что ширина формы 700px(то что надо), а вот в методе Form_Load выскакивает сообщение, что ее ширина уже 1025 - соответственно рисуется она уже с шириной 1025px. Откуда берется это число я и не могу понять.

Добавлено через 1 час 7 минут 35 секунд
Все, разобрался. Все дело было в этом
C#
1
StartPosition == FormStartPosition.WindowsDefaultBounds
Хотя как-то странно.. я всегда считал, что это только top, left определяет
MAcK
Комбайнёр
1554 / 651 / 21
Регистрация: 27.05.2008
Сообщений: 2,535
13.08.2009, 15:26     Windows Form и меняющийся размер окон #6
смотри: ща у тебя форма размера 300, 400 ты её выставляешь на 1024, 840 (к примеру раскрыть на весь экран). Форма прорисовывается пару раз и каждый раз она имеет разную ширину и высоту, так как ещё не растянулась, потому тут выставляй ширину:
C#
1
2
3
4
5
6
        public PatternDictionaries()
        {
            InitializeComponent();
            // от прям тут
            MessageBox.Show(this.Width.ToString());
        }
Yandex
Объявления
13.08.2009, 15:26     Windows Form и меняющийся размер окон
Ответ Создать тему
Опции темы

Текущее время: 21:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru