Как не высвечивать меню при максимизированном дочернем окне?
Я не использую в программе меню, но при максимизировании дочерних форм появляется панель с элементами управления активного окна.
Подскажите как можно избавиться от этой "автоматизации"!
Вот как например в VS Studio или Opera или в любом DC
P.S. Организация и управление окнами организовано элементом управления DotNetBar'a ToolStrip
Если ты имеешь ввиду, что у тебя на главной форме нет меню, а на дочернем есть, и при максимизации дочернего окна меню становится главным, то так и должно быть - и зачем от этого избавляться не могу понять!!
Если что-то не так понял - кинь PrintScreen;)
Такая вот проблема!
Изменение свойств BorderStyle не дает нужного эффекта, так что вопрос остается открытым.
И влюбом случае чтобы дало его отключение? Здесь скорее всего проблема в алгоритме работы родительского окна, который отвечает за смену заголовка при переключении дочерних окон и т.д.
И влюбом случае чтобы дало его отключение? Здесь скорее всего проблема в алгоритме работы родительского окна, который отвечает за смену заголовка при переключении дочерних окон и т.д.
В WindowsForms это свойство разделено на 4 булевых: MinimizeBox, MaximizeBox, ControlBox, HelpBox.
Попробуй отключить их.
Кроме того можно перехватывать событие FormClosing:
e.Cancel = true;
}
Этот код просто отменяет закрытие окна.
Согласен - я тебе не то свойство сказал, но я же сказал "типа BorderIcons". То что тебе надо - это ControlBox.
У меня в старом проекте, я делаю так: при загрузке главной формы я создаю дочернее окно, потом устанавливаю его свойство в Maximized, а потом делаю ControlBox = false. И все отлично работает - системного меню дочернего окна не видно.
Сегодня добрался до студии - попытался повторить. Сначала получилось(на родительском окне обязательно должно присутствовать Menu или ToolBox), потом вышел из приложения - откомпилил заново - и опять оно отображается - не знаю, что это - глюк студии или мои корявые руки;), но дела обстоят именно так..
Суть в том, что при максимизации окна - ControlBox, даже если он был установлен в false, становится в true. Так что его нужно устанавливать после максимизации окна!!
Попробуй - достижения выкладывай..
З.Ы.: Насчет программиста и программирования - видимо ты просто не работал в других средах разработки и сдругими языками. Я сказал "типа BorderIcons", потому что во всех средах и на разных языках - свойства все-равно пересекаются. VS отличилась:)
Зашиваем контент дочерней формы в UserControl, делаем его Dock в Fill, а на событие максимизации дочернего окна этот самый контрол перекидываем на главную форму, а дочернее окно Dispose им.