Модераторы: gambit, Partizan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вопрос о MDI формах, Состояние дочерних форм 
:(
    Опции темы
lam0x7C4
Дата 17.9.2007, 13:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 59
Регистрация: 1.6.2007
Где: Киев

Репутация: нет
Всего: 1



Значит, к делу:
Есть у нас главная форма, контейнер, назвем ее ContainerForm.
У нее есть, скажем, две дочерние формы: обычная - NormalForm, и форма с фиксированым размером( т.е. диалоговое окно, c FormBorderStyle = FormBorderStyle.FixedDialig) - FixedSizeForm.
Открываем форму NormalForm, максимизируем ее, потом открываем форму FixedSizeForm, и FixedSizeForm открываеться максимизированной, что не есть хорошо, т.к. размер ее не должен изменяться.
Вопрос: как запретить максимизирование некоторых форм.
Спасибо за внимание.
PM MAIL ICQ   Вверх
Aleksey2007
Дата 17.9.2007, 22:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 44
Регистрация: 15.9.2007
Где: Казахстан

Репутация: нет
Всего: 1



если ты по VS 2005 то у формы есть такое свойство bool MaximizeBox делаем так 


this->MaximizeBox=false

и проблемы решены
PM MAIL   Вверх
lam0x7C4
Дата 18.9.2007, 17:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 59
Регистрация: 1.6.2007
Где: Киев

Репутация: нет
Всего: 1



Ты немножко не понял.
Когда есть несколько Mdi-child форм и мы максимизируем одну, то автоматически максимизируються и другие.
Вопрос в том как запретить автоматическую максимизацию.
PM MAIL ICQ   Вверх
WinNet
Дата 23.9.2007, 11:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 4.3.2007
Где: г.Москва

Репутация: нет
Всего: нет



К стати интересный вопрос... 
Я тоже не разобрался как решить эту проблемку. Пришлось предусмотреть динамическое позиционирование элементов на формах.
PM ICQ   Вверх
lam0x7C4
Дата 24.9.2007, 13:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 59
Регистрация: 1.6.2007
Где: Киев

Репутация: нет
Всего: 1



Цитата(WinNet @ 23.9.2007,  11:43)
К стати интересный вопрос... 
Я тоже не разобрался как решить эту проблемку. Пришлось предусмотреть динамическое позиционирование элементов на формах.

Мне тоже :(
PM MAIL ICQ   Вверх
tradeinvest
Дата 1.10.2007, 14:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 1.10.2007

Репутация: нет
Всего: нет



Ребята, у меня таких проблем не возникало честно говоря.
Если можно, вы не могли былибы мне скинуть пример, я попробую разобраться с этой проблеммой?
Шлите на [email protected]
PM MAIL   Вверх
WinNet
Дата 1.10.2007, 16:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 4.3.2007
Где: г.Москва

Репутация: нет
Всего: нет



Отправил. Ждем вердикт  smile 
PM ICQ   Вверх
tradeinvest
Дата 1.10.2007, 17:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 1.10.2007

Репутация: нет
Всего: нет



Цитата(WinNet @ 1.10.2007,  16:08)
Отправил. Ждем вердикт  smile

Что то не дошло!
Если можно то пошлите позжалуйста ещё на [email protected] !
Очень хочется посмотреть в чём дело!  smile 
И свяжитесь по аське: 441142115 !


Это сообщение отредактировал(а) tradeinvest - 1.10.2007, 17:22
PM MAIL   Вверх
WinNet
Дата 3.10.2007, 08:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 4.3.2007
Где: г.Москва

Репутация: нет
Всего: нет



Отправил несколько раз , неужели не дошло?

Вот пример, прикреплен к этому сообщению.

Присоединённый файл ( Кол-во скачиваний: 11 )
Присоединённый файл  Primer.rar 88,13 Kb
PM ICQ   Вверх
tradeinvest
Дата 3.10.2007, 08:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 1.10.2007

Репутация: нет
Всего: нет



Цитата(WinNet @ 3.10.2007,  08:29)
Отправил несколько раз , неужели не дошло?

Вот пример, прикреплен к этому сообщению.

Да, дошло!
Правда один раз!
Ну да ладно, и одного хватит!  smile

Действительно есть хрень, пока только решил часть!
Причём у каждой проблемы по немножку!
Времени вчера особо не было, но сегодня продолжу и времени будет больше!
PM MAIL   Вверх
WinNet
Дата 3.10.2007, 15:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 4.3.2007
Где: г.Москва

Репутация: нет
Всего: нет



Спасибо! Будем ждать  smile 
PM ICQ   Вверх
tradeinvest
Дата 3.10.2007, 22:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 1.10.2007

Репутация: нет
Всего: нет



Вот вроде и закончил!
Смотрите, то или не то!
Только вот наверняка можно сделать по лучше, но темнее вроде просто и работает!

Во первых если хотите чтобы открываемая дочерняя форма была нормального размера при открытии(если открыта другая на полную), то достаточно написать так:

            Form mdiChild2 = new Form3();
            mdiChild2.MdiParent = this;
            mdiChild2.Show();
            mdiChild2.WindowState = FormWindowState.Normal;  //Вот эта строка приведёт её в нормальное состояние.


А чтобы окно нельзя было менимизировать, то в свойстве BorderStyle = none
И 
        private void Form2_Resize(object sender, EventArgs e)
        {
            this.WindowState = FormWindowState.Maximized;
        }

        private void Form2_SizeChanged(object sender, EventArgs e)
        {
            this.MaximizeBox = false;
            this.MinimizeBox = false;
            this.ControlBox = false;
        }

Не знаю, то это или не то! Но есть догадки как это сделать лучше, но смотреть смогу позже.

Присоединённый файл ( Кол-во скачиваний: 9 )
Присоединённый файл  Primer.zip 88,28 Kb
PM MAIL   Вверх
WinNet
Дата 4.10.2007, 15:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 4.3.2007
Где: г.Москва

Репутация: нет
Всего: нет



В принципе то что надо!  smile  Но есть несколько нюансов:

1) В данном случае нужно только убрать Minimize,Maximize, а CloseBox(крестик) оставить. (хотя действительно, можно все убрать и добавить свои кнопки)

2) При открытии 2-й дочерней формы , которая не должна максимизироваться при запуске , очень заметно как форма сначала максимизируется а потом возвращается в нормальное состояние. (это мне больше всего не нравится).  
PM ICQ   Вверх
Leximus
Дата 4.10.2007, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 30.9.2007

Репутация: нет
Всего: нет



Цитата(WinNet @ 4.10.2007,  15:22)
В принципе то что надо!  smile  Но есть несколько нюансов:

1) В данном случае нужно только убрать Minimize,Maximize, а CloseBox(крестик) оставить. (хотя действительно, можно все убрать и добавить свои кнопки)

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

Ok! Будем работать в этом направлении дальше!

Вообще как я говорю есть идеи всё это сделать проще, например перехватить сообщение о развёртке окна и просто отменить его( это касаемо первого пункта, а насчёт второго просто перед выводом изображения его уменишить, а потом только показывать.

Как придумаю что то дальше, сообщу!


Кстати это мой нормальный Ник! Просто он что то сначало не регестрировался, подтверждение не приходило, но теперь всё нормально, и я буду от этого ника всё писать!

Это сообщение отредактировал(а) Leximus - 4.10.2007, 15:43
PM MAIL   Вверх
WinNet
Дата 9.10.2007, 16:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 4.3.2007
Где: г.Москва

Репутация: нет
Всего: нет



Хм.. Leximus как успехи , есть новые идеи?
PM ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка Windows Forms | Следующая тема »


 




[ Время генерации скрипта: 0.0576 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.