Как скрыть кнопку visual studio
В чём же причина такого поведения? Об этом расскажу дальше. Рассмотрим открытие и закрытие форм на примерах.
Открываем и закрываем форму из другой формы
Чтобы открыть Form2 нам необходим следующий код, который будет срабатывать при нажатии на кнопку:
Теперь у нас открылась Form2 и спряталась Form1. Поработав с Form2 мы её закрываем и при этом нам надо после этого отобразить Form1. Многие начинающие, включая меня начинают писать следующий код, который помещаем в событие, которое происходит после закрытия Form2:
Вроде всё логично: Form2 закрылась, Form1 открылась. Однако используя этот метод, мы можем заметить, что после того как мы закрываем приложение оно продолжает висеть в памяти. Многие, не зная почему это происходит дописывают в метод «Form1_FormClosed» дописывают принудительное закрытие приложения:
Это работает, однако правильно ли это? Решать вам.
А теперь ответим на вопрос «почему приложение висит в памяти» и рассмотрим простое и правильное решение.
Первая часть кода: мы отображаем Form2 и скрываем Form1. Не закрываем, а именно скрываем, т.е. экземпляр Form1 продолжает существовать.
Закрыть Form1 вместо скрытия не получится, так как это главная форма приложения и при её закрытии мы закроем всё приложение.
Вторая часть кода: строкой «Form ifrm = new Form1();» мы создаём второй экземпляр Form1 и далее его и отображаем, а первый экземпляр Form1 продолжает жить в памяти. И когда мы закрываем приложение (Form1), то первый экземпляр при этом не закрываем он так и «сидит» в памяти, поэтому приложение не выгружается из памяти. В связи с этим многие и закрывают принудительно приложение при закрытии главной формы (Form1).
Сейчас мы с вами рассмотрим правильный код, который не будет создавать второй экземпляр Form1 и отображать его, а будет отображать скрытую до этого Form1.
Теперь при закрытии Form2 у нас будет вызываться и отображаться та форма, которая породила закрывающуюся.
Учитываем координаты форм при открытии
Представьте ситуацию. Открыта Form1 вы её перемещаете в правый верхний угол экрана. Потом нажимаете на кнопку и… Form2 открывается по центру экрана или в другом месте, но не в том месте, где была Form1. Многие улыбнуться и скажут, что в свойствах Form2 надо прописать/указать следующее «StartPosition -> CenterParent» и открывать Form2 следующим методом:
Form ifrm = new Form2();
ifrm.ShowDialog();
Это правильное решение, которое всегда будет открывать Form2 поверх Form1 и всегда по центру Form1. Однако этот код не применим, если вам надо скрывать Form1, так как Form1 не будет скрываться.
Сейчас приведу полное решение, которое позволит открывать Form1 и Form2 в той же точке, где находилась до этого форма, вызывающая другую форму. Код включает всё вышеописанное. В свойствах форм надо прописать следующее (прямо в студии выбираете эти значения):
Теперь вы не создаёте второго экземпляра Form1 и приложение всегда будет закрываться, не оставаясь в памяти.
Открываем форму поверх другой формы, как модальное окно
Чтобы открыть Form2 поверх Form1, как модальное окно, не скрывая Form1, вам хватит этого кода:
В итоге Form2 будет открыта поверх Form1. В этом случае пользователь не сможет переключиться на Form1 не закрыв Form2.
Как удалить кнопку "развернуть" из формы? Я уже отключил его, но он все еще появляется, он просто не работает. Мне нужна форма с кнопками закрыть и свернуть. Это приложение Windows Form, и я использую Visual Studio 2010.
скрытие кнопки максимизации невозможно без покраски собственной оконной рамы.
отключив его, пользователь сообщает, что он не может максимизировать форму, которая является хорошей UX. Скрытие не помогает, потому что двойной щелчок на строке заголовка по-прежнему будет максимизировать окно (если вы не отключили максимизацию).
вы можете установить FormBorderStyle установить на FixedToolWindow или SizableToolWindow , но тогда форма не будет отображаться в панели задач Windows или в ALT + TAB
это просто :) сделай это!--2-->
Private Sub Form1_Load (отправитель как объект, e Как EventArgs) обрабатывает MyBase.Загрузить
теперь ваш клиент не может максимизировать вашу форму, даже если он дважды щелкает строку заголовка вашей формы.
вы можете изменить свойства FormBorderStyle до FixedToolWindows или SizableToolWindow .
просто установите свойство "MaximiseBox" равным false в окне свойств формы. То же самое относится и к коробке minimize.
Если вы установите ControlBox в False, вы потеряете кнопки минимизировать, максимизировать и закрыть в правом верхнем углу. ControlBox-это объект, в котором находится контекстное меню в левом верхнем углу формы.
Если вы оставите ControlBox равным True, вы должны установить и максимизировать и минимизировать до False-это скрывает обе кнопки. Без возможного P / вызова Win32 я не верю, что Ваш контроль становится более гранулированным.
в Visual Studio Сначала выберите форму, перейдите к свойствам и нажмите на поле развернуть, установите для него значение False.Он скроет кнопку максимизации.
мы можем отключить два значка свернуть и увеличить. Вам нужно будет установить " минимизировать и максимизировать значок как false оба. Если какой-либо значок остается true, то все три значка будут отображаться в окне формы.
Элементы управления представляют собой визуальные классы, которые получают введенные пользователем данные и могут инициировать различные события. Все элементы управления наследуются от класса Control и поэтому имеют ряд общих свойств:
Anchor : Определяет, как элемент будет растягиваться
BackColor : Определяет фоновый цвет элемента
BackgroundImage : Определяет фоновое изображение элемента
ContextMenu : Контекстное меню, которое открывается при нажатии на элемент правой кнопкой мыши. Задается с помощью элемента ContextMenu
Cursor : Представляет, как будет отображаться курсор мыши при наведении на элемент
Dock : Задает расположение элемента на форме
Enabled : Определяет, будет ли доступен элемент для использования. Если это свойство имеет значение False, то элемент блокируется.
Font : Устанавливает шрифт текста для элемента
ForeColor : Определяет цвет шрифта
Location : Определяет координаты верхнего левого угла элемента управления
Name : Имя элемента управления
Size : Определяет размер элемента
Width : ширина элемента
Height : высота элемента
TabIndex : Определяет порядок обхода элемента по нажатию на клавишу Tab
Tag : Позволяет сохранять значение, ассоциированное с этим элементом управления
Кнопка
Наиболее часто используемым элементом управления является кнопка. Обрабатывая событие нажатия кнопки, мы может производить те или иные действия.
При нажатии на кнопку на форме в редакторе Visual Studio мы по умолчанию попадаем в код обработчика события Click , который будет выполняться при нажатии:
Оформление кнопки
Чтобы управлять внешним отображением кнопки, можно использовать свойство FlatStyle. Оно может принимать следующие значения:
Flat - Кнопка имеет плоский вид
Popup - Кнопка приобретает объемный вид при наведении на нее указателя, в иных случаях она имеет плоский вид
Standard - Кнопка имеет объемный вид (используется по умолчанию)
System - Вид кнопки зависит от операционной системы
Изображение на кнопке
Как и для многих элементов управления, для кнопки можно задавать изображение с помощью свойства BackgroundImage. Однако мы можем также управлять размещением текста и изображения на кнопки. Для этого надо использовать свойство TextImageRelation . Оно приобретает следующие значения:
Overlay : текст накладывается на изображение
ImageAboveText : изображение располагается над текстом
TextAboveImage : текст располагается над изображением
ImageBeforeText : изображение располагается перед текстом
TextBeforeImage : текст располагается перед изображением
Например, установим для кнопки изображение. Для этого выберем кнопку и в окне Свойств нажмем на поле Image (не путать с BackgroundImage). Нам откроется диалоговое окно установи изображения:
В этом окне выберем опцию Local Resource и нажмем на кнопку Import , после чего нам откроется диалоговое окно для выбора файла изображения.
После выбора изображения мы можем установить свойство ImageAlign , которое управляет позиционированием изображения на кнопке:
Нам доступны 9 вариантов, с помощью которых мы можем прикрепить изображение к определенной стороне кнопки. Оставим здесь значение по умолчанию - MiddleCenter , то есть позиционирование по центру.
Затем перейдем к свойству TextImageRelation и установим для него значение ImageBeforeText . В итоге мы получим кнопку, где сразу после изображения идет надпись на кнопке:
Клавиши быстрого доступа
При работе с формами при использовании клавиатуры очень удобно пользоваться клавишами быстрого доступа. При нажатии на клавиатуре комбинации клавиш At+некоторый символ, будет вызываться определенная кнопка. Например, зададим для некоторой кнопки свойство Text равное &Аватар . Первый знак - амперсанд - определяет ту букву, которая будет подчеркнута. В данном случае надпись будет выглядеть как А ватар. И теперь чтобы вызвать событие Click, нам достаточно нажать на комбинацию клавиш Alt+А.
Кнопки по умолчанию
Форма, на которой размещаются все элементы управления, имеет свойства, позволяющие назначать кнопку по умолчанию и кнопку отмены.
Так, свойство формы AcceptButton позволяет назначать кнопку по умолчанию, которая будет срабатывать по нажатию на клавишу Enter.
Аналогично работает свойство формы CancelButton , которое назначает кнопку отмены. Назначив такую кнопку, мы можем вызвать ее нажатие, нажав на клавишу Esc.
Почему то в Visual Studio, применяется один макет окон, когда активно окно в режиме конструктора и когда активно окно в режиме кода. Причины наверно есть, ведь можно и одновременно открыть на части экрана и то и то. Но я такой возможностью не пользуюсь и мне не удобно, что часть экрана когда я пишу код занимают окна свойств и панель элементов, которые мне нужны, когда я пользуюсь конструктором. Возможно ли настроить студию так, чтобы автоматически скрывать их, когда у меня активно окно с кодом, и автоматически отображать, когда активно окно конструктора?
P.S. У меня версия 2008, ответ ищется для неё. Но прошу также оставлять ответы для любой версии.
47k 11 11 золотых знаков 74 74 серебряных знака 143 143 бронзовых знакаВот такой ещё вариант: нажимать Shift+Alt+Enter , когда вы переходите в режим правки кода.
Это стандартный студийный хоткей View.FullScreen .
Под рукой студия 2015, проверил у коллег в 2012 и 2010 — работает. 2008 под рукой нет, но думаю, что тоже сработает.
Но прошу также оставлять ответы для любой версии
Если кратко, то расставляешь окна как тебе удобно и в верхнем меню выбираешь Window > Save Window Layout . Потом расставляешь окна по-другому как нужно и сохраняешь еще одну разметку. Переключение между разметками с помощью сочетания клавиш: CTRL + ALT + 1..0
Единственный минус - данная фича отсутствует в Visual Studio 2008
В Visual Studio 2005/2008 скрывать и показывать окна и панели можно с помощью макросов. Смотрите этот ответ. К сожалению, в данный момент у меня нет доступа к предыдущим версиям VS, а в новых версиях макросы отсутствуют.
Устанавливать ненужную мне версию Студии я не горю желанием, однако я установил расширение Visual Commander (доступно для версий 2010-2015; невозможно установить в Express-версии). Опробовал на VS2015 Community.
Щёлкаем по кнопкам Compile, Install. Готово! Наш макрос-расширение установлен. Теперь окна Properties и Toolbox автоматически показываются, когда активен документ, содержащий строку [Design] в названии и скрываются во всех остальных случаях.
Читайте также: