структуризация
Область применения:
Visual Studio Visual Studio для Mac
Visual Studio Code ![]()
Чтобы скрыть область кода из представления, ее можно свернуть, чтобы она отображалась под знаком плюса (+) в текстовом редакторе. Затем, чтобы развернуть свернутую область, выберите знак плюса.
Если вы предпочитаете использовать клавиатуру, то можете нажать клавиши CTRL+M+M для свертывания и развертывания.
Чтобы свернуть область выделения, дважды щелкните любую строку в регионе в поле выделения, которое отображается только слева от кода. Содержимое свернутой области отображается в виде всплывающей подсказки при наведении указателя мыши на эту область.
Области в поле структуры также выделяются при наведении указателя мыши на поле. В некоторых конфигурациях цветов цвет выделения по умолчанию может показаться едва заметным. Его можно изменить, последовательно выбрав Сервис>Параметры>Среда>Шрифты и цвета>Свертываемая область.
При работе с указанным кодом можно развернуть разделы, над которыми вы хотите работать, свернуть их после завершения, а затем перейти к другим разделам. Если вы не хотите отображать структуру, можно использовать команду 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 .