Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как не высвечивать меню при максимизированном дочернем окне?

8.5K
14 марта 2007 года
kibermaks
31 / / 11.07.2005
Проблема следующая:
Я не использую в программе меню, но при максимизировании дочерних форм появляется панель с элементами управления активного окна.

Подскажите как можно избавиться от этой "автоматизации"!

Вот как например в VS Studio или Opera или в любом DC

P.S. Организация и управление окнами организовано элементом управления DotNetBar'a ToolStrip
263
14 марта 2007 года
koltaviy
816 / / 16.12.2004
Ничо не понятно.
Если ты имеешь ввиду, что у тебя на главной форме нет меню, а на дочернем есть, и при максимизации дочернего окна меню становится главным, то так и должно быть - и зачем от этого избавляться не могу понять!!
Если что-то не так понял - кинь PrintScreen;)
8.5K
14 марта 2007 года
kibermaks
31 / / 11.07.2005
Нет меню ни в дочернем, ни в родительском окнах. Но когда максимизируется дочернее окно, то в главном появляется панель меню с кнопками управления: _ и х справа. Вот ее и надо убрать.
263
15 марта 2007 года
koltaviy
816 / / 16.12.2004
Ну так, блин, убери соответствующие иконки у дочернего окна. Свойство типа BorderIcons.
8.5K
20 марта 2007 года
kibermaks
31 / / 11.07.2005
[ATTACH]1676[/ATTACH]
Такая вот проблема!
Изменение свойств BorderStyle не дает нужного эффекта, так что вопрос остается открытым.
263
21 марта 2007 года
koltaviy
816 / / 16.12.2004
Научись читать - не BorderStyle, а BorderIcons!!
8.5K
21 марта 2007 года
kibermaks
31 / / 11.07.2005
Парень, ты хоть программировать умеешь? или только безмозглые советы раздаешь? Ты мне с такой уверенностью обьясняешь свойство BorderIcons, а его нет в NET.Framework.

И влюбом случае чтобы дало его отключение? Здесь скорее всего проблема в алгоритме работы родительского окна, который отвечает за смену заголовка при переключении дочерних окон и т.д.
8.5K
21 марта 2007 года
kibermaks
31 / / 11.07.2005
Парень, ты хоть программировать умеешь? или только безмозглые советы раздаешь?:mad: Ты мне с такой уверенностью обьясняешь свойство BorderIcons, а его нет в NET.Framework.

И влюбом случае чтобы дало его отключение? Здесь скорее всего проблема в алгоритме работы родительского окна, который отвечает за смену заголовка при переключении дочерних окон и т.д.
5
21 марта 2007 года
hardcase
4.5K / / 09.08.2005
Цитата: kibermaks
Ты мне с такой уверенностью обьясняешь свойство BorderIcons, а его нет в NET.Framework.


В WindowsForms это свойство разделено на 4 булевых: MinimizeBox, MaximizeBox, ControlBox, HelpBox.
Попробуй отключить их.


Кроме того можно перехватывать событие FormClosing:

 
Код:
private void Form1_FormClosing(object sender, FormClosingEventArgs e) {
    e.Cancel = true;
}

Этот код просто отменяет закрытие окна.
8.5K
21 марта 2007 года
kibermaks
31 / / 11.07.2005
Пробовал отключать все эти свойства, все равно выскакивает эта долбаная менюшка :(
263
21 марта 2007 года
koltaviy
816 / / 16.12.2004
Цитата: kibermaks
Пробовал отключать все эти свойства, все равно выскакивает эта долбаная менюшка :(

Согласен - я тебе не то свойство сказал, но я же сказал "типа BorderIcons". То что тебе надо - это ControlBox.
У меня в старом проекте, я делаю так: при загрузке главной формы я создаю дочернее окно, потом устанавливаю его свойство в Maximized, а потом делаю ControlBox = false. И все отлично работает - системного меню дочернего окна не видно.
Сегодня добрался до студии - попытался повторить. Сначала получилось(на родительском окне обязательно должно присутствовать Menu или ToolBox), потом вышел из приложения - откомпилил заново - и опять оно отображается - не знаю, что это - глюк студии или мои корявые руки;), но дела обстоят именно так..
Суть в том, что при максимизации окна - ControlBox, даже если он был установлен в false, становится в true. Так что его нужно устанавливать после максимизации окна!!
Попробуй - достижения выкладывай..
З.Ы.: Насчет программиста и программирования - видимо ты просто не работал в других средах разработки и сдругими языками. Я сказал "типа BorderIcons", потому что во всех средах и на разных языках - свойства все-равно пересекаются. VS отличилась:)

5
21 марта 2007 года
hardcase
4.5K / / 09.08.2005
А ещё можо поступить кардинально:
Зашиваем контент дочерней формы в UserControl, делаем его Dock в Fill, а на событие максимизации дочернего окна этот самый контрол перекидываем на главную форму, а дочернее окно Dispose им.
8.5K
22 марта 2007 года
kibermaks
31 / / 11.07.2005
Тоже ничего не помогает. Во время исполнения все свойства установлены на False, кроме того попробовал стереть название окна и иконку, все равно меню остается.:(
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог