Как сделать конструктор visual studio

Обновлено: 16.05.2024

Конструктор Windows Forms предоставляет множество средств для создания приложений Windows Forms. В этой статье показано, как создать приложение с помощью различных средств, предоставляемых конструктором, и выполнять такие задачи:

  • размещать элементы управления с помощью линий привязки;
  • выполнять задачи конструктора с помощью смарт-тегов;
  • устанавливать поля и отбивки для элементов управления;
  • располагать элементы управления с помощью элемента управления TableLayoutPanel;
  • разделять макет элемента управления с помощью элемента управления SplitContainer;
  • просматривать макет в окне "Структура документа";
  • размещать элементы управления с отображением размера и сведений о расположении;
  • задавать значения свойств в окне "Свойства".

В итоге вы создадите пользовательский элемент управления, используя разнообразные функции макета, которые доступны в конструкторе Windows Forms. Этот элемент управления реализует пользовательский интерфейс для простого калькулятора. На следующем изображении показан общий макет элемента управления калькулятора.

Создание проекта пользовательского элемента управления

Первым шагом является создание проекта элемента управления DemoCalculator.

Откройте Visual Studio и создайте проект категории Библиотека элементов управления Windows Forms. Задайте проекту имя DemoCalculatorLib.

Windows Forms Control Library template in Visual Studio 2019

Чтобы переименовать файл, в обозревателе решений щелкните правой кнопкой мыши элемент UserControl1.vb или UserControl1.cs, выберите Переименовать и замените имя файла на DemoCalculator.vb или DemoCalculator.cs. Чтобы переименовать все ссылки на элемент кода UserControl1, в соответствующем запросе выберите Да.

В конструктор Windows Forms отображается поверхность конструктора для элемента управления DemoCalculator. В этом представлении можно графически спроектировать внешний вид элемента управления, выбрав элементы управления и компоненты на панели элементов и поместив их на поверхности конструктора. Дополнительные сведения см. в статье о разновидностях пользовательских элементов управления.

Разработка макета элемента управления

Элемент управления DemoCalculator содержит несколько элементов управления Windows Forms. На этом этапе вы зададите расположение элементов управления с помощью конструктора Windows Forms.

В конструкторе Windows Forms увеличьте размер элемента управления DemoCalculator, выбрав маркер изменения размера в правом нижнем углу и перетащив его вниз и вправо. В правом нижнем углу Visual Studio просмотрите сведения о размере и расположении элементов управления. Задайте элементу управления ширину 500 и высоту 400, наблюдая за сведениями о размере при изменении размера элемента управления.

На панели элементов выберите узел Контейнеры, чтобы открыть его. Выберите элемент управления SplitContainer и перетащите его на поверхность конструктора.

Элемент SplitContainer появится на поверхности конструктора элемента управления DemoCalculator.

Размер элемента управления SplitContainer автоматически устанавливается в соответствии с размером элемента управления DemoCalculator. В окне Свойства проверьте свойства, заданные для элемента управления SplitContainer . Найдите свойство Dock. Ему задано значение DockStyle.Fill. Это означает, что размер элемента управления SplitContainer устанавливается в соответствии с границами элемента управления DemoCalculator. Измените размер элемента управления DemoCalculator, чтобы проверить это поведение.

В окне Свойства замените значение свойства Dock на None .

Элемент управления SplitContainer уменьшится до размера по умолчанию и больше не будет меняться при изменении размера элемента управления DemoCalculator.

Щелкните глиф смарт-тега () в правом верхнем углу элемента управления SplitContainer . Выберите Закрепить в родительском контейнере, чтобы присвоить свойству Dock значение Fill .

Элемент управления SplitContainer закрепится по границам элемента управления DemoCalculator.

Для некоторых элементов управления доступны смарт-теги, упрощающие проектирование. Дополнительные сведения см. в разделе Пошаговое руководство: выполнение типичных задач с помощью смарт-тегов в элементах управления Windows Forms.

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

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

В окне Свойства замените значение свойства BorderStyle на Fixed3D .

На панели элементов выберите узел Стандартные элементы управления, чтобы открыть его. Выберите элемент управления ListView и перетащите его на правую панель элемента управления SplitContainer .

Выберите глиф смарт-тега элемента управления ListView . На панели смарт-тегов замените значение параметра View на Details .

На панели смарт-тегов выберите Изменить столбцы.

Откроется диалоговое окно Редактор коллекции ColumnHeader.

На панели смарт-тегов выберите Закрепить в родительском контейнере, а затем щелкните глиф смарт-тега, чтобы закрыть панель смарт-тегов.

С панели элементов узла Контейнеры перетащите элемент управления TableLayoutPanel на левую панель элемента управления SplitContainer .

Элемент управления TableLayoutPanel отобразится на поверхности конструктора с открытой панелью смарт-тегов. Элемент управления TableLayoutPanel упорядочивает свои дочерние элементы управления в сетке. Элемент управления TableLayoutPanel будет содержать экран и кнопки элемента управления DemoCalculator. Дополнительные сведения см. в разделе Пошаговое руководство: упорядочение элементов управления в формах Windows Forms с помощью элемента TableLayoutPanel.

На панели смарт-тегов выберите Правка строк и столбцов.

Откроется диалоговое окно Стили столбцов и строк.

Нажимайте кнопку Добавить, пока не добавятся пять столбцов. Выберите все пять столбцов, а затем в поле Тип размера выберите Процент. Параметру Процент задайте значение 20. При этом каждому столбцу задается одинаковая ширина.

В разделе Показать выберите Строки.

Нажимайте кнопку Добавить, пока не добавятся пять строк. Выберите все пять строк, а затем в поле Тип размера выберите Процент. Параметру Процент задайте значение 20. При этом каждой строке задается одинаковая высота.

В окне Свойства замените значение свойства Dock на Fill .

Заполнение элемента управления

Теперь, когда макет элемента управления настроен, можно добавить в элемент управления DemoCalculator кнопки и экран.

На панели элементов выберите значок элемента управления TextBox .

Элемент управления TextBox помещается в первую ячейку элемента управления TableLayoutPanel .

В окне Свойства замените значение свойства ColumnSpan элемента управления TextBox на 5.

Элемент управления TextBox переместится в центр своей строки.

Замените значение свойства Anchor элемента управления TextBox на Left , Right .

Элемент управления TextBox расширится по горизонтали, заняв все пять столбцов.

Измените значение свойства TextBox элемента управления TextAlign на Right .

В окне Свойства разверните узел свойства Font . Задайте значение 14 для Size и true для Bold у элемента управления TextBox .

Выберите элемент управления TableLayoutPanel .

На панели элементов выберите значок Button .

Элемент управления Button разместится в следующей свободной ячейке элемента управления TableLayoutPanel .

На панели элементов выберите Button еще четыре раза, чтобы заполнить вторую строку элемента управления TableLayoutPanel .

Выберите все пять элементов управления Button , удерживая нажатой клавишу SHIFT. Нажмите клавиши CTRL+C, чтобы скопировать элементы управления Button в буфер обмена.

Трижды нажмите сочетание клавиш CTRL+V, чтобы вставить скопированные элементы управления Button в оставшиеся строки элемента управления TableLayoutPanel .

Выберите все 20 элементов управления Button , удерживая нажатой клавишу SHIFT.

В окне Свойства замените значение свойства Dock на Fill .

Все элементы управления Button закрепятся в своих ячейках.

В окне Свойства разверните узел свойства Margin . Для All задайте значение 5.

Всем элементам управления Button задается меньший размер, чтобы увеличить поля между ними.

Выберите button10 и button20, после чего нажмите клавишу DELETE, чтобы удалить их из макета.

Выберите button5 и button15, после чего замените значение их свойства RowSpan на 2. Это будут кнопки очистки и = для элемента управления DemoCalculator.

Использование окна структуры документа

Если в элементе управления или форме присутствует несколько элементов управления, перемещаться по макету удобнее с помощью окна "Структура документа".

В строке меню выберите Вид>Другие окна>Структура документа.

В этом окне структура элемента управления DemoCalculator и его составных элементов управления представлена в виде дерева. Дочерние элементы управления контейнерных элементов управления, таких как SplitContainer , отображаются в виде подузлов дерева. Окно также позволяет переименовывать размещенные элементы управления.

В окне Структура документа щелкните правой кнопкой мыши элемент button1, чтобы выбрать его, после чего щелкните Переименовать. Замените его имя на sevenButton.

В окне Структура документа замените имена элементов управления Button , заданные конструктором, на имена для рабочей среды согласно следующему списку:

button1 на sevenButton;

button2 на eightButton;

button3 на nineButton;

button4 на divisionButton;

button5 на clearButton;

button6 на fourButton;

button7 на fiveButton;

button8 на sixButton;

button9 на multiplicationButton;

button11 на oneButton;

button12 на twoButton;

button13 на threeButton;

button14 на subtractionButton;

button15 на equalsButton;

button16 на zeroButton;

button17 на changeSignButton;

button18 на decimalButton;

button19 на additionButton;

С помощью окон Структура документа и Свойства измените значения свойства Text для каждого имени элемента управления Button согласно следующему списку:

для элемента управления sevenButton замените свойство текста на 7;

для элемента управления eightButton замените свойство текста на 8;

для элемента управления nineButton замените свойство текста на 9;

для элемента управления divisionButton замените свойство текста на / (косая черта);

для элемента управления clearButton замените свойство текста на Clear;

для элемента управления fourButton замените свойство текста на 4;

для элемента управления fiveButton замените свойство текста на 5;

для элемента управления sixButton замените свойство текста на 6;

для элемента управления multiplicationButton замените свойство текста на * (звездочка);

для элемента управления oneButton замените свойство текста на 1;

для элемента управления twoButton замените свойство текста на 2;

для элемента управления threeButton замените свойство текста на 3;

для элемента управления subtractionButton замените свойство текста на - (дефис);

для элемента управления equalsButton замените свойство текста на = (знак равенства);

для элемента управления zeroButton замените свойство текста на 0;

для элемента управления changeSignButton замените свойство текста на +/- ;

для элемента управления decimalButton замените свойство текста на . (точка);

для элемента управления additionButton замените свойство текста на + (знак "плюс");

На поверхности конструктора выберите все элементы управления Button , удерживая нажатой клавишу SHIFT.

В окне Свойства разверните узел свойства Font . Задайте значение 14 для Size и true для Bold у всех элементов управления Button .

На этом разработка элемента управления DemoCalculator завершена. Остается только добавить логику калькулятора.

Добавление обработчиков событий

Кнопки в элементе управления DemoCalculator имеют обработчики событий, которые можно использовать для реализации большей части логики калькулятора. Конструктор Windows Forms позволяет реализовать заглушки всех обработчиков событий для всех кнопок одним выбором.

На поверхности конструктора выберите все элементы управления Button , удерживая нажатой клавишу SHIFT.

Выберите один из элементов управления Button .

В редакторе кода откроются обработчики событий, созданные конструктором.

Тестирование элемента управления

Поскольку элемент управления DemoCalculator наследуется от класса UserControl, его поведение можно проверить с помощью Контейнера для тестирования пользовательских элементов управления. Дополнительные сведения см. в разделе Практическое руководство. Тестирование поведения элемента UserControl во время выполнения.

Нажмите клавишу F5, чтобы собрать и запустить элемент управления DemoCalculator в Контейнере для тестирования пользовательских элементов управления.

Выберите границу между панелями SplitContainer и перетащите ее влево и вправо. Размеры элемента TableLayoutPanel и всех его дочерних элементов управления будут изменяться в соответствии с доступным пространством.

Завершив тестирование элемента управления, нажмите кнопку Закрыть.

Использование элемента управления в форме

Элемент управления DemoCalculator можно использовать в других составных элементах управления или в форме. Ниже описано, как это сделать.

Создание проекта

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

Создайте проект Приложение Windows Forms с именем DemoCalculatorTest.

В Обозревателе решений щелкните правой кнопкой мыши проект DemoCalculatorTest и выберите Добавить>Ссылка на проект, чтобы открыть диалоговое окно Диспетчер ссылок.

(Если вы используете Visual Studio 2017, для открытия диалогового окна Диспетчер ссылок выберите Добавить>Ссылка.)

Перейдите на вкладку Проекты и выберите проект DemoCalculatorLib, чтобы добавить ссылку на тестовый проект.

В обозревателе решений щелкните правой кнопкой мыши DemoCalculatorTest и выберите пункт Назначить запускаемым проектом.

В конструкторе Windows Forms увеличьте размер формы примерно до 700 x 500.

Использование элемента управления в макете формы

Чтобы использовать элемент управления DemoCalculator в приложении, его необходимо поместить в форму.

На панели элементов разверните узел Компоненты DemoCalculatorLib.

Перетащите элемент управления DemoCalculator с панели элементов в форму. Переместите элемент управления в левый верхний угол формы. Когда элемент управления расположен близко к границам формы, отображаются линии привязки. Линии привязки указывают расстояние свойства Padding формы и свойства Margin элемента управления. Поместите элемент управления в расположение, указанное линиями привязки.

Перетащите элемент управления Button с панели элементов и поместите его в форму.

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

Щелкните правой кнопкой мыши элемент управления DemoCalculator и выберите пункт Свойства.

Замените значение свойства Dock на Fill .

Выберите форму, а затем разверните узел свойства Padding . Замените значение Все на 20.

Размер элемента управления DemoCalculator уменьшится в соответствии с новым значением формы Padding .

Измените размер формы, перетаскивая различные маркеры изменения размера в разные положения. Обратите внимание на то, как размер элемента управления DemoCalculator пропорционально изменяется.

Следующие шаги

В этой статье было показано, как создать пользовательский интерфейс для простого калькулятора. В дальнейшем можно расширить его функциональность, реализовав логику калькулятора, а затем опубликовать приложение с помощью ClickOnce. Вы также можете ознакомиться с руководством по созданию средства просмотра рисунков с помощью Windows Forms.

Что? Этот компонент позволяет немедленно создать код для нового конструктора в классе.

Когда? Вы представляете новый конструктор и можете настроить соответствующее автоматическое объявление о нем. Или вы можете изменить существующий конструктор.

Зачем? Вы можете объявить конструктор до его использования. Но этот компонент автоматически создаст его с соответствующими параметрами. Кроме того, изменение существующего конструктора требует обновления всех мест вызова, пока этот компонент не обновит их автоматически.

Как? Конструктор можно создать несколькими способами:

Поместите курсор в любую пустую строку в классе:

Cursor in empty line

Затем выполните одно из следующих действий.


  • Клавиатура
    • Нажмите CTRL+., чтобы открыть меню Быстрые действия и рефакторинг.
    • Щелкните правой кнопкой мыши и выберите меню Быстрые действия и рефакторинг.
    • Щелкните значок , который отображается в левом поле, если текстовый курсор уже находится в пустой строке класса.

    Screenshot of the Generate constructor option.

    Выберите Создать конструктор в раскрывающемся меню.

    Откроется диалоговое окно Выбор элементов.

    Pick members dialog

    Вы можете установить флажок Добавить проверки значений NULL, чтобы для параметров конструктора автоматически создавались проверки значений NULL.

    Конструктор создается с учетом указанных параметров.

    Screenshot showing that constructor is created with the specified parameters.

    Поместите курсор на экземпляр.

    Нажмите CTRL+., чтобы открыть меню Быстрые действия и рефакторинг.

    Выберите Создать конструктор в (со свойствами) .

    Screenshot of the Generate constructor in Key (with properties) option.

    Выделите элементы, которые вы хотите добавить в созданный конструктор:

    Highlight members

    Затем выполните одно из следующих действий.

    Клавиатура

    • Нажмите CTRL+., чтобы открыть меню Быстрые действия и рефакторинг.

    Мышь


    • Щелкните правой кнопкой мыши и выберите меню Быстрые действия и рефакторинг.
    • Щелкните значок , который отображается в левом поле, если текстовый курсор уже находится в строке выбора элементов.

    Screenshot of the Generate constructor Person string string option.

    Выберите Создать конструктор "TypeName(. )" в раскрывающемся меню.

    Конструктор создается с учетом выбранных параметров.

    Screenshot showing that the constructor is created with the selected parameters.

    Поместите курсор в строку с красной волнистой линией. Она указывает вызов несуществующего конструктора.

    Highlighted code VB

    Затем выполните одно из следующих действий.

    Клавиатура

    • Нажмите CTRL+., чтобы открыть меню Быстрые действия и рефакторинг.

    Мышь

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

    Screenshot of the Generate constructor in Person option.

    Выберите Создать конструктор в "TypeName" в раскрывающемся меню.

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

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

    Generate method result VB

    Добавьте параметр в вызов существующего конструктора.

    Поместите курсор в строку с красной волнистой линией. Она указывает, что вы использовали конструктор, который еще не существует.

    Screenshot showing the line where there is a red squiggle.

    Затем выполните одно из следующих действий.

    Клавиатура

    • Нажмите CTRL+., чтобы открыть меню Быстрые действия и рефакторинг.

    Мышь

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

    Screenshot of the Add parameter to Person string string option.

    Выберите Добавить параметр в "TypeName(. )" в раскрывающемся меню.

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

    Screenshot showing that the parameter is added to the constructor, with its type inferred from its usage.

    Вы также можете добавить параметр к существующему методу. Дополнительные сведения см. в статье Добавление параметра в метод.

    Найдите существующий конструктор и добавьте параметр:

    Screenshot showing an existing constructor.

    Поместите курсор внутри добавленного параметра.

    Затем выполните одно из следующих действий:


    • Клавиатура
      • Нажмите CTRL+., чтобы открыть меню Быстрые действия и рефакторинг.
      • Щелкните правой кнопкой мыши и выберите меню Быстрые действия и рефакторинг.
      • Щелкните значок , который отображается в левом поле, если текстовый курсор уже находится в строке выбора с добавленным параметром.

      Screenshot of the Create and initialize property Age option.

      Выберите Создать и инициализировать свойство или Создать и инициализировать поле в раскрывающемся меню.

      Свойство или поле объявляется и автоматически называется в соответствии с вашими типами. Также добавляется строка кода для инициализации поля или свойства в теле конструктора.

      Интегрированная среда разработки Visual Studio (IDE) может размещать различные типы редактора:

      Основной редактор Visual Studio

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

      Типы редактора

      Сведения об основном редакторе Visual Studio см. в разделе "Расширение редактора и языковых служб".

      Настраиваемые редакторы

      Пользовательский редактор — это редактор, предназначенный для работы в специализированных обстоятельствах. Например, можно создать редактор, функция которого заключается в чтении и записи данных в определенный репозиторий, например на сервере Microsoft Exchange. Выберите пользовательский редактор, если требуется редактор, который работает только с типом проекта, или если требуется редактор с несколькими конкретными командами. Однако обратите внимание, что пользователи не смогут использовать пользовательский редактор для редактирования стандартных проектов Visual Studio.

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

      Настраиваемый редактор может использовать активацию на месте или упрощенное внедрение для реализации представления.

      Внешние редакторы

      Внешние редакторы — это редакторы, которые не интегрированы в Visual Studio, такие как Microsoft Word, Блокнот или Microsoft FrontPage. Например, вы можете вызвать такой редактор, если вы передаете в него текст из VSPackage. Внешние редакторы регистрируются и могут использоваться за пределами Visual Studio. При вызове внешнего редактора и его можно внедрить в окне узла, а затем он отображается в окне интегрированной среды разработки. В противном случае интегрированная среда разработки создает отдельное окно для него.

      Метод IsDocumentInProject задает приоритет документа с помощью VSDOCUMENTPRIORITY перечисления. DP_External Если указано значение, файл можно открыть внешним редактором.

      Решения по проектированию редактора

      Следующие вопросы по проектированию помогут вам выбрать тип редактора, который лучше всего подходит для вашего приложения:

      Сохраните ли приложение свои данные в файлах или нет? Если данные будут сохранены в файлах, они будут находиться в пользовательском или стандартном формате?

      Если вы используете стандартный формат файлов, другие типы проектов в дополнение к проекту смогут открывать и читать и записывать в них данные. Однако при использовании настраиваемого формата файлов только тип проекта сможет открывать и читать и записывать в них данные.

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

      Требуется ли редактору размещать элементы ActiveX?

      Если в редакторе размещены элементы ActiveX, реализуйте редактор активации на месте, как описано в разделе активации на месте. Если он не содержит элементы ActiveX, используйте упрощенный редактор внедрения или настройте редактор по умолчанию Visual Studio.

      Будет ли ваш редактор поддерживать несколько представлений? Если вы хотите, чтобы представления редактора отображались одновременно с редактором по умолчанию, необходимо поддерживать несколько представлений.

      Если редактору требуется поддержка нескольких представлений, данные документа и объекты представления документов для редактора должны быть отдельными объектами. Дополнительные сведения см. в разделе "Поддержка нескольких представлений документов".

      Если редактор поддерживает несколько представлений, планируется ли использовать реализациюVsTextBuffer текстового буфера (объект) основного редактора Visual Studio для объекта данных документа? Это значит, что вы хотите поддерживать представление редактора параллельно с основным редактором Visual Studio? Возможность сделать это является основой конструктора форм..

      Если необходимо разместить внешний редактор, можно ли внедрить редактор в Visual Studio?

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

      в этом разделе

      Пошаговое руководство. Добавление функций в пользовательский редактор
      В этой статье объясняется, как добавлять функции в пользовательский редактор.

      Предоставление поддержки отмены конструкторам
      В этой статье объясняется, как предоставить поддержку отмены для конструкторов.

      Раскраска синтаксиса в пользовательских редакторах
      Объясняет разницу между раскрасками синтаксиса в основном редакторе и в пользовательских редакторах.

      Данные документа и представление документов в пользовательских редакторах
      Описание реализации данных документа и представлений документов в пользовательских редакторах.

      Связанные разделы

      Устаревшие интерфейсы в редакторе
      Объясняет, как получить доступ к основному редактору с помощью устаревшего API.

      Расширение других частей Visual Studio
      Описывает создание элементов пользовательского интерфейса, соответствующих остальной части Visual Studio.

      Что? Этот компонент позволяет немедленно создать код для нового конструктора в классе.

      Когда? Вы представляете новый конструктор и можете настроить соответствующее автоматическое объявление о нем. Или вы можете изменить существующий конструктор.

      Зачем? Вы можете объявить конструктор до его использования. Но этот компонент автоматически создаст его с соответствующими параметрами. Кроме того, изменение существующего конструктора требует обновления всех мест вызова, пока этот компонент не обновит их автоматически.

      Как? Конструктор можно создать несколькими способами:

      Поместите курсор в любую пустую строку в классе:

      Cursor in empty line

      Затем выполните одно из следующих действий.


      • Клавиатура
        • Нажмите CTRL+., чтобы открыть меню Быстрые действия и рефакторинг.
        • Щелкните правой кнопкой мыши и выберите меню Быстрые действия и рефакторинг.
        • Щелкните значок , который отображается в левом поле, если текстовый курсор уже находится в пустой строке класса.

        Screenshot of the Generate constructor option.

        Выберите Создать конструктор в раскрывающемся меню.

        Откроется диалоговое окно Выбор элементов.

        Pick members dialog

        Вы можете установить флажок Добавить проверки значений NULL, чтобы для параметров конструктора автоматически создавались проверки значений NULL.

        Конструктор создается с учетом указанных параметров.

        Screenshot showing that constructor is created with the specified parameters.

        Поместите курсор на экземпляр.

        Нажмите CTRL+., чтобы открыть меню Быстрые действия и рефакторинг.

        Выберите Создать конструктор в (со свойствами) .

        Screenshot of the Generate constructor in Key (with properties) option.

        Выделите элементы, которые вы хотите добавить в созданный конструктор:

        Highlight members

        Затем выполните одно из следующих действий.

        Клавиатура

        • Нажмите CTRL+., чтобы открыть меню Быстрые действия и рефакторинг.

        Мышь


        • Щелкните правой кнопкой мыши и выберите меню Быстрые действия и рефакторинг.
        • Щелкните значок , который отображается в левом поле, если текстовый курсор уже находится в строке выбора элементов.

        Screenshot of the Generate constructor Person string string option.

        Выберите Создать конструктор "TypeName(. )" в раскрывающемся меню.

        Конструктор создается с учетом выбранных параметров.

        Screenshot showing that the constructor is created with the selected parameters.

        Поместите курсор в строку с красной волнистой линией. Она указывает вызов несуществующего конструктора.

        Highlighted code VB

        Затем выполните одно из следующих действий.

        Клавиатура

        • Нажмите CTRL+., чтобы открыть меню Быстрые действия и рефакторинг.

        Мышь

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

        Screenshot of the Generate constructor in Person option.

        Выберите Создать конструктор в "TypeName" в раскрывающемся меню.

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

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

        Generate method result VB

        Добавьте параметр в вызов существующего конструктора.

        Поместите курсор в строку с красной волнистой линией. Она указывает, что вы использовали конструктор, который еще не существует.

        Screenshot showing the line where there is a red squiggle.

        Затем выполните одно из следующих действий.

        Клавиатура

        • Нажмите CTRL+., чтобы открыть меню Быстрые действия и рефакторинг.

        Мышь

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

        Screenshot of the Add parameter to Person string string option.

        Выберите Добавить параметр в "TypeName(. )" в раскрывающемся меню.

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

        Screenshot showing that the parameter is added to the constructor, with its type inferred from its usage.

        Вы также можете добавить параметр к существующему методу. Дополнительные сведения см. в статье Добавление параметра в метод.

        Найдите существующий конструктор и добавьте параметр:

        Screenshot showing an existing constructor.

        Поместите курсор внутри добавленного параметра.

        Затем выполните одно из следующих действий:


        • Клавиатура
          • Нажмите CTRL+., чтобы открыть меню Быстрые действия и рефакторинг.
          • Щелкните правой кнопкой мыши и выберите меню Быстрые действия и рефакторинг.
          • Щелкните значок , который отображается в левом поле, если текстовый курсор уже находится в строке выбора с добавленным параметром.

          Screenshot of the Create and initialize property Age option.

          Выберите Создать и инициализировать свойство или Создать и инициализировать поле в раскрывающемся меню.

          Свойство или поле объявляется и автоматически называется в соответствии с вашими типами. Также добавляется строка кода для инициализации поля или свойства в теле конструктора.

          What: Lets you immediately generate the code for a new constructor on a class.

          When: You introduce a new constructor and want to properly declare it automatically, or you modify an existing constructor.

          Why: You could declare the constructor before using it, however this feature will generate it, with the proper parameters, automatically. Furthermore, modifying an existing constructor requires updating all the callsites unless you use this feature to update them automatically.

          How: There are several ways to generate a constructor:

          Place your cursor in any empty line in a class:

          Cursor in empty line

          Next, do one of the following:


          • Keyboard
            • Press Ctrl+. to trigger the Quick Actions and Refactorings menu.
            • Right-click and select the Quick Actions and Refactorings menu.
            • Click the icon that appears in the left margin if the text cursor is already on the empty line in the class.

            Screenshot of the Generate constructor option.

            Select Generate constructor from the drop-down menu.

            The Pick members dialog box opens.

            Pick the members you want to include as constructor parameters. You can order them using the up and down arrows. Choose OK.

            Pick members dialog

            You can check the Add null checks checkbox to automatically generate null checks for your constructor parameters.

            The constructor is created with the specified parameters.

            Screenshot showing that constructor is created with the specified parameters.

            Place your cursor on the instance.

            Press Ctrl+. to trigger the Quick Actions and Refactorings menu.

            Select Generate constructor in (with properties).

            Screenshot of the Generate constructor in Key (with properties) option.

            Highlight the members you wish to have in your generated constructor:

            Highlight members

            Next, do one of the following:

            Keyboard

            • Press Ctrl+. to trigger the Quick Actions and Refactorings menu.

            Mouse


            • Right-click and select the Quick Actions and Refactorings menu.
            • Click the icon that appears in the left margin if the text cursor is already on the line with the selection.

            Screenshot of the Generate constructor Person string string option.

            Select Generate constructor 'TypeName(. )' from the drop-down menu.

            The constructor is created with the selected parameters.

            Screenshot showing that the constructor is created with the selected parameters.

            Place your cursor on the line where there is a red squiggle. The red squiggle indicates a call to a constructor that doesn't yet exist.

            Highlighted code VB

            Next, do one of the following:

            Keyboard

            • Press Ctrl+. to trigger the Quick Actions and Refactorings menu.

            Mouse

            • Right-click and select the Quick Actions and Refactorings menu.
            • Hover over the red squiggle and click the icon that appears.
            • Click the icon that appears in the left margin if the text cursor is already on the line with the red squiggle.

            Screenshot of the Generate constructor in Person option.

            Select Generate constructor in 'TypeName' from the drop-down menu.

            Use the Preview changes link at the bottom of the preview window to see all of the changes that will be made before making your selection.

            The constructor is created, with any parameters inferred from its usage.

            Generate method result VB

            Add a parameter to an existing constructor call.

            Place your cursor on the line where there is a red squiggle indicating you've used a constructor that doesn't yet exist.

            Screenshot showing the line where there is a red squiggle.

            Next, do one of the following:

            Keyboard

            • Press Ctrl+. to trigger the Quick Actions and Refactorings menu.

            Mouse

            • Right-click and select the Quick Actions and Refactorings menu.
            • Hover over the red squiggle and click the icon that appears.
            • Click the icon that appears in the left margin if the text cursor is already on the line with the red squiggle.

            Screenshot of the Add parameter to Person string string option.

            Select Add parameter to 'TypeName(. )' from the drop-down menu.

            The parameter is added to the constructor, with its type inferred from its usage.

            Screenshot showing that the parameter is added to the constructor, with its type inferred from its usage.

            You can also add a parameter to an existing method. For more information, see Add parameter to a method.

            Find an existing constructor, and add a parameter:

            Screenshot showing an existing constructor.

            Place your cursor inside the newly added parameter.

            Next, do one of the following: