Перейти к содержимому

C как свернуть форму

  • автор:

структуризация

Область применения:yesVisual Studio Visual Studio для Mac noVisual Studio Code no

Чтобы скрыть область кода из представления, ее можно свернуть, чтобы она отображалась под знаком плюса (+) в текстовом редакторе. Затем, чтобы развернуть свернутую область, выберите знак плюса.

Если вы предпочитаете использовать клавиатуру, то можете нажать клавиши CTRL+M+M для свертывания и развертывания.

Чтобы свернуть область выделения, дважды щелкните любую строку в регионе в поле выделения, которое отображается только слева от кода. Содержимое свернутой области отображается в виде всплывающей подсказки при наведении указателя мыши на эту область.

Screenshot of an example of collapsed code that shows the outlining margin and an example of the expanded code visible from a tooltip.

Области в поле структуры также выделяются при наведении указателя мыши на поле. В некоторых конфигурациях цветов цвет выделения по умолчанию может показаться едва заметным. Его можно изменить, последовательно выбрав Сервис>Параметры>Среда>Шрифты и цвета>Свертываемая область.

При работе с указанным кодом можно развернуть разделы, над которыми вы хотите работать, свернуть их после завершения, а затем перейти к другим разделам. Если вы не хотите отображать структуру, можно использовать команду Stop Outlining , чтобы удалить сведения о структуре, не беспокоясь о базовом коде.

Эти действия выполняются с помощью команд Отменить и Вернуть в меню Правка. Операции Копировать, Вырезать, Вставить и операции перетаскивания сохраняют сведения о структуре, но не состояние свертываемой области. Например, при копировании региона, свернутого, операция вставки вставляет скопированный текст в развернутую область.

При изменении области структуры структурирование может быть утеряно. Например, операции удаления или поиска и замены могут удалить конец области.

Приведенные ниже команды находятся в подменю Правка>Структурирование.

Имя Описание
Скрыть выделенное (CTRL M, CTRL++H) — свернуть выбранный блок кода, который обычно не будет доступен для выделения, например if блока. Чтобы удалить пользовательскую область, используйте команду Прервать скрытие текущей области (или сочетание клавиш CTRL+M, CTRL+U). Недоступно в Visual Basic.
Свернуть/развернуть сегмент (CTRL+M, CTRL+L) — отменяет текущее скрытое или развернутое состояние самого внутреннего раздела структуры, если курсор находится во вложенном свернутом разделе.
Свернуть/развернуть все сегменты (CTRL+M, CTRL+L) — задает для всех областей то же свернутое или развернутое состояние. Если одни области развернуты, а другие свернуты, свернутые области будут развернуты.
Прекратить показ структуры (CTRL+M, CTRL+P) — удаляет все сведения о структуре для всего документа.
(Чтобы включить его обратно, перейдите к Измените>структуру и нажмите кнопку «Начать автоматическую структуру«.)
Прервать скрытие текущей области (CTRL+M, CTRL+U) — удаляет сведения о структуре для текущей выбранной определяемой пользователем области. Недоступно в Visual Basic.
Свернуть в определения (CTRL+M, CTRL+O) — сворачивает члены всех типов.
Свернуть блок:

(C++) Сворачивает область в функции, в которой находится точка вставки. Например, если точка вставки находится внутри цикла, цикл скрывается.
Свернуть все в:

(C++) Сворачивает все структуры внутри функции.

Дополнительные сведения об использовании клавиатуры исключительно см. в разделе «Сочетания клавиш» в Visual Studio.

Для определения областей текста, которые требуется развернуть или свернуть, можно также использовать пакет SDK для Visual Studio. См. статью Пошаговое руководство. Структурирование.

Связанный контент

  • Возможности редактора кода
  • Редактор исходного кода (Visual Studio для Mac)

Как свернуть форму при закрытии приложения?

FormClosed — Возникает при каждом завершении работы с формой после того, как форма была закрыта, и определяет причины этого закрытия. FormClosing — Возникает при каждом завершении работы с формой до того, как форма была закрыта, и определяет причины этого закрытия. Как с помощью FormClosing свернуть приложение? Есть примерный код, но не разберусь как его настроить (работает для кнопки «свернуть» FormMain_Resize, но не для кнопки «закрыть» FormMain_FormClosing):

 private void FormMain_Resize(object sender, FormClosingEventArgs e) < if (this.WindowState == FormWindowState.Minimized) < this.ShowInTaskbar = false; >else if (this.WindowState == FormWindowState.Maximized) < this.WindowState = FormWindowState.Maximized; this.ShowInTaskbar = true; >else < this.WindowState = FormWindowState.Normal; this.ShowInTaskbar = true; >> 

Отслеживать
задан 28 мар 2017 в 6:53
523 7 7 серебряных знаков 24 24 бронзовых знака

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

Если вам надо сворачивать окно при нажатии кнопки «закрыть» — это делается вот так:

private void FormMain_FormClosing(object sender, FormClosingEventArgs e) < if (e.CloseReason == CloseReason.UserClosing) < e.Cancel = true; this.WindowState = FormWindowState.Minimized; >> 

Если вам надо при этом еще и убрать форму из панели задач — добавьте в метод this.ShowInTaskbar = false;

Важно! Не отменяйте без веских причин закрытие формы при завершении приложения, закрытии из диспетчера задач или завершении работы компьютера — ни к чему хорошему кроме ругательств на зависшее приложение это не приведет.

А что вы пытались сделать в своими условными операторами в вопросе — я не понял.

Прячем программу в трей на C#

Всем привет, сегодня учимся сворачивать в трей программу написанную в C#. Итак создаем новый проект «Приложение Windows Forms». Переходим в конструктор форм и жмем «панель инструментов». Ищем элемент «NotifyIcon»

и перетаскиваем его на нашу форму.

Как видите он появился с низу, и если по нему кликнуть снизу, откроются свойства.

В свойствах нас интересуют параметры: Text, Icon. В Text мы задаем тот текст, который будет показываться при наведении на иконку в трее, Icon — та самая иконка что будет показываться, поэтому обязательно сделайте (я делал в GIMP’е) или найдите в интернете.

Итак, теперь нам надо привязать к нашей форме код убирания окна в трей, показ нашей иконки и добавить разворачивание нашего окна. Кликните 2 раза по нашей форме, и мы перейдем из конструктора в класс нашей формочки.

Моя форма называется w1 и следовательно функция конструктора тоже называется w1, вот начала кода:

using System; using System.Windows.Forms; namespace FwLogger < public partial class w1 : Form < public w1() < InitializeComponent(); >> >

Далее в конструктор класса мы добавляем код и все связанные с ним функции, и вот у нас получается:

public w1() < InitializeComponent(); // делаем невидимой нашу иконку в трее notifyIcon1.Visible = false; // добавляем Эвент или событие по 2му клику мышки, //вызывая функцию notifyIcon1_MouseDoubleClick this.notifyIcon1.MouseDoubleClick += new MouseEventHandler(notifyIcon1_MouseDoubleClick); // добавляем событие на изменение окна this.Resize += new System.EventHandler(this.Form1_Resize); >private void Form1_Resize(object sender, EventArgs e) < // проверяем наше окно, и если оно было свернуто, делаем событие if (WindowState == FormWindowState.Minimized) < // прячем наше окно из панели this.ShowInTaskbar = false; // делаем нашу иконку в трее активной notifyIcon1.Visible = true; >> private void notifyIcon1_MouseDoubleClick(object sender, MouseEventArgs e) < // делаем нашу иконку скрытой notifyIcon1.Visible = false; // возвращаем отображение окна в панели this.ShowInTaskbar = true; //разворачиваем окно WindowState = FormWindowState.Normal; >

Form. Minimize Box Свойство

Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.

Получает или задает значение, указывающее, отображается ли кнопка Свернуть в строке заголовка формы.

public: property bool MinimizeBox < bool get(); void set(bool value); >;
public bool MinimizeBox
member this.MinimizeBox : bool with get, set
Public Property MinimizeBox As Boolean
Значение свойства

true для отображения кнопки Свернуть для формы; в противном случае — false . Значение по умолчанию — true .

Примеры

В следующем примере создается новый экземпляр Form и вызывается ShowDialog метод для отображения формы в виде диалогового окна. В примере задаются FormBorderStyleсвойства , AcceptButton, CancelButton, MinimizeBox, MaximizeBoxи StartPosition , чтобы изменить внешний вид и функциональность формы на диалоговое окно. В примере также используется Add метод коллекции формы Controls для добавления двух Button элементов управления. В примере свойство используется для HelpButton отображения кнопки справки на панели подпись диалогового окна.

public: void CreateMyForm() < // Create a new instance of the form. Form^ form1 = gcnew Form; // Create two buttons to use as the accept and cancel buttons. Button^ button1 = gcnew Button; Button^ button2 = gcnew Button; // Set the text of button1 to "OK". button1->Text = "OK"; // Set the position of the button on the form. button1->Location = Point(10,10); // Set the text of button2 to "Cancel". button2->Text = "Cancel"; // Set the position of the button based on the location of button1. button2->Location = Point( button1->Left, button1->Height + button1->Top + 10 ); // Set the caption bar text of the form. form1->Text = "My Dialog Box"; // Display a help button on the form. form1->HelpButton = true; // Define the border style of the form to a dialog box. form1->FormBorderStyle = ::FormBorderStyle::FixedDialog; // Set the MaximizeBox to false to remove the maximize box. form1->MaximizeBox = false; // Set the MinimizeBox to false to remove the minimize box. form1->MinimizeBox = false; // Set the accept button of the form to button1. form1->AcceptButton = button1; // Set the cancel button of the form to button2. form1->CancelButton = button2; // Set the start position of the form to the center of the screen. form1->StartPosition = FormStartPosition::CenterScreen; // Add button1 to the form. form1->Controls->Add( button1 ); // Add button2 to the form. form1->Controls->Add( button2 ); // Display the form as a modal dialog box. form1->ShowDialog(); > 
public void CreateMyForm() < // Create a new instance of the form. Form form1 = new Form(); // Create two buttons to use as the accept and cancel buttons. Button button1 = new Button (); Button button2 = new Button (); // Set the text of button1 to "OK". button1.Text = "OK"; // Set the position of the button on the form. button1.Location = new Point (10, 10); // Set the text of button2 to "Cancel". button2.Text = "Cancel"; // Set the position of the button based on the location of button1. button2.Location = new Point (button1.Left, button1.Height + button1.Top + 10); // Set the caption bar text of the form. form1.Text = "My Dialog Box"; // Display a help button on the form. form1.HelpButton = true; // Define the border style of the form to a dialog box. form1.FormBorderStyle = FormBorderStyle.FixedDialog; // Set the MaximizeBox to false to remove the maximize box. form1.MaximizeBox = false; // Set the MinimizeBox to false to remove the minimize box. form1.MinimizeBox = false; // Set the accept button of the form to button1. form1.AcceptButton = button1; // Set the cancel button of the form to button2. form1.CancelButton = button2; // Set the start position of the form to the center of the screen. form1.StartPosition = FormStartPosition.CenterScreen; // Add button1 to the form. form1.Controls.Add(button1); // Add button2 to the form. form1.Controls.Add(button2); // Display the form as a modal dialog box. form1.ShowDialog(); >
Public Sub CreateMyForm() ' Create a new instance of the form. Dim form1 As New Form() ' Create two buttons to use as the accept and cancel buttons. Dim button1 As New Button() Dim button2 As New Button() ' Set the text of button1 to "OK". button1.Text = "OK" ' Set the position of the button on the form. button1.Location = New Point(10, 10) ' Set the text of button2 to "Cancel". button2.Text = "Cancel" ' Set the position of the button based on the location of button1. button2.Location = _ New Point(button1.Left, button1.Height + button1.Top + 10) ' Set the caption bar text of the form. form1.Text = "My Dialog Box" ' Display a help button on the form. form1.HelpButton = True ' Define the border style of the form to a dialog box. form1.FormBorderStyle = FormBorderStyle.FixedDialog ' Set the MaximizeBox to false to remove the maximize box. form1.MaximizeBox = False ' Set the MinimizeBox to false to remove the minimize box. form1.MinimizeBox = False ' Set the accept button of the form to button1. form1.AcceptButton = button1 ' Set the cancel button of the form to button2. form1.CancelButton = button2 ' Set the start position of the form to the center of the screen. form1.StartPosition = FormStartPosition.CenterScreen ' Add button1 to the form. form1.Controls.Add(button1) ' Add button2 to the form. form1.Controls.Add(button2) ' Display the form as a modal dialog box. form1.ShowDialog() End Sub 

Комментарии

Кнопка Свернуть позволяет пользователям свернуть окно до значка. Чтобы отобразить кнопку Свернуть , свойство формы ControlBox должно иметь true значение по умолчанию. Свойство ControlBox определяет, содержит ли правый верхний угол панели подпись такие элементы управления, как кнопка развертывания, кнопка свернуть, кнопка справки и кнопка закрытия. Кроме того, необходимо также задать для свойства формы FormBorderStyle значение FormBorderStyle.FixedSingle, FormBorderStyle.Sizable, FormBorderStyle.Fixed3Dили FormBorderStyle.FixedDialog.

Минимизация формы во время выполнения приводит к возникновению Resize события. Свойство WindowState отражает текущее состояние окна. Если для свойства задано значение WindowState FormWindowState.Minimized , форма будет свернута независимо от параметров, которые действуют для MinimizeBox свойств и FormBorderStyle .

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *