Что такое формы Windows
Обновлено: 21.11.2024
В предыдущей главе мы говорили о том, что такое WPF, и немного о WinForms. В этой главе я попытаюсь сравнить их, потому что, хотя они служат одной и той же цели, между ними есть МНОГО различий. Если вы никогда раньше не работали с WinForms, и особенно если WPF — это ваша первая инфраструктура графического интерфейса, вы можете пропустить эту главу, но если вас интересуют различия, читайте дальше.
Единственное наиболее важное различие между WinForms и WPF заключается в том, что, хотя WinForms представляет собой просто слой поверх стандартных элементов управления Windows (например, TextBox), WPF создается с нуля и не полагается на стандартные элементы управления Windows в практически все ситуации. Это может показаться незначительным отличием, но на самом деле это не так, и вы обязательно это заметите, если когда-либо работали с фреймворком, зависящим от Win32/WinAPI.
Отличный пример — кнопка с изображением и текстом. Это не стандартный элемент управления Windows, поэтому WinForms не предлагает вам такой возможности из коробки. Вместо этого вам придется рисовать изображение самостоятельно, реализовать собственную кнопку, поддерживающую изображения, или использовать сторонний элемент управления. В WPF кнопка может содержать что угодно, потому что по сути это граница с содержимым и различными состояниями (например, нетронута, наведена, нажата). Кнопка WPF не имеет внешнего вида, как и большинство других элементов управления WPF, что означает, что она может содержать ряд других элементов управления внутри себя. Вы хотите кнопку с изображением и текстом? Просто поместите изображение и элемент управления TextBlock внутрь кнопки, и все готово! Вы просто не получите такой гибкости от стандартных элементов управления WinForms, поэтому существует большой рынок довольно простых реализаций элементов управления, таких как кнопки с изображениями и т. д.
Недостаток этой гибкости заключается в том, что иногда вам придется приложить больше усилий, чтобы достичь чего-то, что было очень просто с помощью WinForms, потому что он был создан именно для того сценария, для которого он вам нужен. По крайней мере, так кажется вначале, когда вы создаете шаблоны для создания ListView с изображением и некоторым красиво выровненным текстом, что WinForms ListViewItem делает в одной строке кода.
Это было только одно отличие, но поработав с WPF, вы поймете, что на самом деле это основная причина многих других отличий — WPF просто делает все по-своему, к лучшему или к худшему. . Вы больше не обязаны делать что-то в стиле Windows, но чтобы получить такую гибкость, вы платите немного больше работы, когда вы действительно просто хотите делать что-то в стиле Windows.
Ниже приведен полностью субъективный список основных преимуществ WPF и WinForms. Это должно дать вам лучшее представление о том, что вы собираетесь делать.
Преимущества WPF
Преимущества WinForms
- Он старше и, следовательно, более проверен и испытан
- Уже существует множество сторонних элементов управления, которые можно купить или получить бесплатно.
- Конструктор в Visual Studio на момент написания по-прежнему лучше подходит для WinForms, чем для WPF, где вам придется выполнять большую часть работы с WPF самостоятельно.
Вашего предпочтительного языка нет в списке? Нажмите здесь, чтобы помочь нам перевести эту статью на ваш язык!
Windows Forms предлагает обширную клиентскую библиотеку, предоставляющую интерфейс для доступа к собственным элементам графического интерфейса Windows и графике из управляемого кода. Он построен с архитектурой, управляемой событиями, аналогичной клиентам Windows, поэтому его приложения ждут ввода данных пользователем для своего выполнения.
Windows Forms аналогична библиотеке Microsoft Foundation Class (MFC) при разработке клиентских приложений. Он предоставляет оболочку, состоящую из набора классов C++ для разработки приложений Windows. Однако он не предоставляет среду приложений по умолчанию, такую как MFC.
Techopedia объясняет Windows Forms
Каждый элемент управления в приложении Windows Forms является конкретным экземпляром класса. Компоновка элемента управления в графическом интерфейсе и его поведение управляются с помощью методов и средств доступа. Windows Forms предоставляет различные элементы управления, такие как текстовые поля, кнопки и веб-страницы, а также параметры для создания настраиваемых элементов управления. Он также содержит классы для создания кистей, шрифтов, значков и других графических объектов (таких как линия и круг).
Параметры приложения — это еще одна функция Windows Forms для создания, хранения и обслуживания информации о состоянии среды выполнения в форме XML, которую можно использовать для получения предпочитаемых пользователем параметров, таких как положение панели инструментов и списки последних использованных. Эти настройки можно повторно использовать в будущих приложениях.
Некоторые рекомендации по созданию приложений Windows Forms включают:
- Классы Windows Forms могут быть расширены с помощью наследования для разработки структуры приложения, обеспечивающей высокий уровень абстракции и возможность повторного использования кода.
- Формы должны быть компактными, а элементы управления ограничены размером, обеспечивающим минимальную функциональность. Кроме того, динамическое создание и удаление элементов управления может уменьшить количество статических элементов управления.
- Формы можно разбивать на фрагменты, упакованные в сборки, которые могут автоматически обновляться и которыми легко управлять с минимальными усилиями.
- Создание приложения без сохранения состояния обеспечивает масштабируемость и гибкость, а также простоту отладки и обслуживания.
- Приложения Windows Forms должны разрабатываться с учетом требуемого уровня доверия, необходимости запрашивать разрешения и обрабатывать исключения безопасности, где это необходимо.
- Формы Windows Form не могут передаваться через границу домена приложения, поскольку они не предназначены для маршалинга между доменами приложений.
Windows Presentation Framework (WPF) — это новейшая технология визуализации пользовательских интерфейсов в графических приложениях Windows с такими функциями, как поддержка 2D/3D, интерактивная визуализация данных и удобочитаемость содержимого. Он опирается на объекты DirectX, а не на объекты GDI (интерфейс графического устройства) для предоставления модели программирования, в которой пользовательский интерфейс отделен от бизнес-логики. Однако благодаря возможности взаимодействия с WPF (где это необходимо) Windows Forms является хорошим выбором для приложений, которым не требуется мультимедийный графический интерфейс и другие функции WPF, такие как шаблоны данных и элементов управления, типографика и функции рендеринга текста. р>
Приложение формы Windows — это приложение, предназначенное для работы на компьютере. Он не будет работать в веб-браузере, потому что тогда он станет веб-приложением.
В этом руководстве по Windows вы узнаете-
Основы Windows Forms
Приложение форм Windows – это приложение, работающее на настольном компьютере. Приложение Windows Forms обычно имеет набор элементов управления, таких как метки, текстовые поля, списки и т. д.
Итак, пример элементов управления, доступных в приведенном выше приложении
- Это набор элементов управления метками, которые обычно используются для описания смежных элементов управления. Итак, в нашем случае у нас есть 2 текстовых поля, и метки используются, чтобы сообщить пользователю, что одно текстовое поле предназначено для ввода имени пользователя, а другое — для пароля.
- Два текстовых поля используются для хранения имени пользователя и пароля, которые вводит пользователь.
- Наконец у нас есть кнопка. Обычно к элементу управления «кнопка» прилагается некоторый код для выполнения определенного набора действий. Так, например, в приведенном выше случае мы могли бы заставить кнопку выполнять действие по проверке имени пользователя и пароля, которые вводит пользователь.
Теперь давайте рассмотрим пример того, как мы можем реализовать простое приложение "hello world" в Visual Studio. Для этого нам нужно будет выполнить следующие шаги
Шаг 1. Первый шаг включает создание нового проекта в Visual Studio. После запуска Visual Studio вам нужно выбрать пункт меню New->Project.
Шаг 2. Следующим шагом является выбор типа проекта в качестве приложения Windows Forms. Здесь нам также нужно указать название и местонахождение нашего проекта.
- В диалоговом окне проекта мы видим различные параметры для создания различных типов проектов в Visual Studio. Выберите вариант Windows слева.
- Когда мы щелкнем параметры Windows на предыдущем шаге, мы сможем увидеть параметр для приложения Windows Forms. Выберите этот вариант.
- Мы дадим имя приложению. В нашем случае это DemoApplication. Мы также предоставим место для хранения нашего приложения.
- Наконец, мы нажимаем кнопку "ОК", чтобы позволить Visual Studio создать наш проект.
Если выполнить описанные выше шаги, вы получите следующий вывод в Visual Studio.
Вывод:-
Вы увидите конструктор форм, отображаемый в Visual Studio. Именно в этом конструкторе форм вы начнете создавать приложение Windows Forms.
В обозревателе решений вы также сможете увидеть решение DemoApplication. Это решение будет содержать следующие 2 файла проекта
- Приложение Form с именем Forms1.cs. Этот файл будет содержать весь код приложения Windows Form.
- Основная программа с именем Program.cs — это файл кода по умолчанию, который создается при создании нового приложения в Visual Studio. Этот код будет содержать код запуска для приложения в целом.
В левой части Visual Studio вы также увидите панель инструментов. Панель инструментов содержит все элементы управления, которые можно добавить в Windows Forms. Такие элементы управления, как текстовое поле или метка, — это лишь некоторые из элементов управления, которые можно добавить в Windows Forms.
Ниже показан снимок экрана, на котором показано, как выглядит панель инструментов.
Шаг 3. На этом шаге мы добавим к форме метку, которая будет отображать «Hello World.На панели инструментов вам нужно будет выбрать элемент управления Label и просто перетащить его на форму.
После того, как вы перетащите метку на форму, вы увидите метку, встроенную в форму, как показано ниже.
Шаг 4. Следующим шагом является переход к свойствам элемента управления и изменение текста на «Hello World».
Чтобы перейти к свойствам элемента управления, необходимо щелкнуть его правой кнопкой мыши и выбрать пункт меню "Свойства"
- Панель свойств также отображается в Visual Studio. Итак, для элемента управления меткой в элементе управления свойствами перейдите в раздел «Текст» и введите «Hello World».
- Каждый элемент управления имеет набор свойств, описывающих элемент управления.
Если вы выполните все вышеперечисленные шаги и запустите свою программу в Visual Studio, вы получите следующий результат
Вывод:-
В выводе видно, что отображается форма Windows. Вы также можете увидеть, что в форме отображается надпись «Hello World».
Добавление элементов управления в форму
Мы уже видели, как добавить элемент управления в форму, когда добавляли элемент управления "Ярлык" в предыдущем разделе для отображения "Hello World".
Давайте рассмотрим другие элементы управления, доступные для форм Windows, и рассмотрим некоторые из их общих свойств.
Итак, давайте подробно рассмотрим каждый элемент управления и добавим их для создания формы с вышеупомянутыми функциями.
Групповое поле
Групповой блок используется для логической группировки элементов управления в раздел. Давайте возьмем пример, если у вас есть набор элементов управления для ввода таких сведений, как имя и адрес человека. В идеале это сведения о человеке, поэтому вы хотели бы иметь эти данные в отдельном разделе формы. Для этой цели у вас может быть групповой ящик. Давайте посмотрим, как мы можем реализовать это на примере, показанном ниже
Шаг 1. Первым шагом является перетаскивание элемента управления Groupbox на форму Windows из панели инструментов, как показано ниже
Шаг 2. После добавления группового поля перейдите в окно свойств, щелкнув элемент управления групповым полем. В окне свойств перейдите к свойству «Текст» и измените его на «Сведения о пользователе».
После внесения вышеуказанных изменений вы увидите следующий результат
Вывод:-
В выводе отчетливо видно, что групповой ящик был добавлен в форму. Вы также можете видеть, что текст группового поля был изменен на «Сведения о пользователе».
Контроль ярлыков
Далее идет элемент управления ярлыками. Элемент управления label используется для отображения текста или сообщения пользователю в форме. Элемент управления Label обычно используется вместе с другими элементами управления. Типичными примерами являются добавление метки вместе с элементом управления текстовым полем.
Эта метка указывает пользователю, что должно быть заполнено в текстовом поле. Давайте посмотрим, как мы можем реализовать это на примере, показанном ниже. Мы добавим 2 ярлыка, один из которых будет называться «имя», а другой — «адрес». Они будут использоваться вместе с элементами управления текстовыми полями, которые будут добавлены в следующем разделе.
Шаг 1) Первый шаг — перетащить элемент управления меткой на форму Windows из панели инструментов, как показано ниже. Убедитесь, что вы перетащили элемент управления меткой 2 раза, чтобы у вас был один для «имени», а другой для «адреса».
Шаг 2) После добавления метки перейдите в окно свойств, щелкнув элемент управления меткой. В окне свойств перейдите к свойству Text каждого элемента управления меткой.
После внесения вышеуказанных изменений вы увидите следующий результат
Вывод:-
Вы можете увидеть элементы управления ярлыками, добавленные в форму.
Текстовое поле
Шаг 1. Первым шагом является перетаскивание элемента управления текстовым полем на форму Windows из панели инструментов, как показано ниже
Шаг 2) После добавления текстовых полей перейдите в окно свойств, щелкнув элемент управления текстовым полем. В окне свойств перейдите к свойству Name и добавьте осмысленное имя в каждое текстовое поле. Например, назовите текстовое поле для пользователя как txtName, а поле для адреса — как txtAddress. Для элементов управления необходимо установить соглашение об именах и стандарт, потому что становится проще добавлять к этим элементам дополнительные функции, которые мы увидим позже.
После внесения вышеуказанных изменений вы увидите следующий результат
Вывод:-
В выводе вы можете ясно видеть, что текстовые поля были добавлены в форму.
Список
Список используется для демонстрации списка элементов в форме Windows. Давайте посмотрим, как мы можем реализовать это на примере, показанном ниже. Мы добавим в форму окно со списком для хранения местоположений некоторых городов.
Шаг 1. Первым шагом является перетаскивание элемента управления списком на форму Windows из панели инструментов, как показано ниже
Шаг 2. После добавления списка перейдите в окно свойств, щелкнув элемент управления списком.
- Сначала измените свойство элемента управления Listbox, в нашем случае мы изменили его на lstCity
- Нажмите на свойство Items.Это позволит вам добавлять различные элементы, которые могут отображаться в списке. В нашем случае мы выбрали элементы «коллекция».
- В появившемся редакторе коллекции строк введите названия городов. В нашем случае мы ввели «Мумбаи», «Бангалор» и «Хайдарабад».
- Наконец нажмите кнопку "ОК".
После внесения вышеуказанных изменений вы увидите следующий результат
Вывод:-
В выводе видно, что список был добавлен в форму. Вы также можете видеть, что список заполнен значениями городов.
Радиокнопка
Радиокнопка используется для демонстрации списка элементов, из которых пользователь может выбрать один. Давайте посмотрим, как мы можем реализовать это на примере, показанном ниже. Мы добавим переключатель для мужского/женского варианта.
Шаг 1. Первым шагом является перетаскивание элемента управления «радиокнопка» на форму Windows из панели инструментов, как показано ниже.
Шаг 2. После добавления радиокнопки перейдите в окно свойств, щелкнув элемент управления Radiobutton.
- Во-первых, вам нужно изменить текстовое свойство обоих элементов управления Radio. Перейдите в окно свойств и измените текст одного переключателя на мужской, а текст другого на женский.
- Аналогичным образом измените свойство name обоих элементов управления Radio. Перейдите в окно свойств и измените имя на «rdMale» для одного переключателя и на «rdfemale» для другого.
После внесения вышеуказанных изменений вы увидите следующий вывод
Вывод:-
Вы увидите переключатели, добавленные в форму Windows.
Флажок
Шаг 1. Первым шагом является перетаскивание флажка на форму Windows из панели инструментов, как показано ниже
Шаг 2. После добавления флажка перейдите в окно свойств, щелкнув элемент управления Checkbox.
В окне свойств
После внесения вышеуказанных изменений вы увидите следующий результат
Вывод:-
Кнопка
Кнопка позволяет пользователю нажать на кнопку, после чего начнется обработка формы. Давайте посмотрим, как мы можем реализовать это на примере, показанном ниже. Мы добавим простую кнопку «Отправить», которая будет использоваться для отправки всей информации в форме.
Шаг 1. Первым шагом является перетаскивание элемента управления "Кнопка" на форму Windows из панели инструментов, как показано ниже
Шаг 2. После добавления кнопки перейдите в окно свойств, щелкнув элемент управления "Кнопка".
- Во-первых, вам нужно изменить свойство текста элемента управления "Кнопка". Перейдите в окно свойств и измените текст на «отправить».
- Аналогичным образом измените свойство имени элемента управления. Перейдите в окно свойств и измените имя на «btnSubmit».
После внесения вышеуказанных изменений вы увидите следующий результат
Вывод:-
Поздравляем, теперь у вас есть первая базовая форма Windows Form. Теперь давайте перейдем к следующему разделу, чтобы узнать, как мы можем выполнять обработку событий для элементов управления.
Обычно нажатие кнопки в форме означает, что должна произойти какая-то обработка.
Давайте рассмотрим одно из событий и то, как его можно обработать, прежде чем мы перейдем к сценарию события кнопки.
В приведенном ниже примере показано событие для элемента управления Listbox. Поэтому всякий раз, когда элемент выбран в элементе управления списком, должно появиться окно сообщения, в котором отображается выбранный элемент. Для этого выполните следующие шаги.
Шаг 1) Дважды щелкните список в дизайнере форм. Сделав это, Visual Studio автоматически откроет файл кода для формы. И он автоматически добавит в код метод события. Этот метод события будет срабатывать при выборе любого элемента в списке.
Выше приведен фрагмент кода, который автоматически добавляется Visual Studio при двойном щелчке элемента управления "Поле списка" в форме. Теперь давайте добавим приведенный ниже фрагмент кода к этому фрагменту кода, чтобы добавить необходимую функциональность в событие списка.
- Это метод обработчика событий, который автоматически создается Visual Studio при двойном щелчке элемента управления "Список". Вам не нужно беспокоиться о сложности имени метода или параметрах, передаваемых методу.
- Здесь мы получаем SelectedItem через свойство lstCity.SelectedItem. Помните, что lstCity — это имя нашего элемента управления Listbox. Затем мы используем метод GetItemText для получения фактического значения выбранного элемента. Затем мы присваиваем это значение текстовой переменной.
- Наконец, мы используем метод MessageBox для отображения значения текстовой переменной пользователю.
После внесения вышеуказанных изменений и запуска программы в Visual Studio вы увидите следующий вывод
Вывод:-
Из вывода видно, что при выборе любого элемента из списка появляется всплывающее окно сообщения. Это покажет выбранный элемент из списка.
Теперь давайте посмотрим на последний элемент управления, который представляет собой метод нажатия кнопки. Опять же, это следует той же философии. Просто дважды щелкните кнопку в конструкторе форм, и он автоматически добавит метод для обработчика событий кнопки. Затем вам просто нужно добавить приведенный ниже код.
- Это метод обработчика событий, который автоматически создается Visual Studio при двойном щелчке элемента управления "Кнопка". Вам не нужно беспокоиться о сложности имени метода или параметров, передаваемых в метод.
- Здесь мы получаем значения, введенные в текстовое поле имени и адреса. Значения можно взять из свойства text текстового поля. Затем мы присваиваем значения двум переменным, имени и адресу соответственно.
- Наконец, мы используем метод MessageBox, чтобы отобразить пользователю значения имени и адреса.
После внесения вышеуказанных изменений и запуска программы в Visual Studio вы увидите следующий вывод
Вывод:-
- Сначала введите значение в поле имени и адреса.
- Затем нажмите кнопку "Отправить".
После того, как вы нажмете кнопку "Отправить", откроется окно сообщения, в котором правильно будет показано, что вы ввели в разделе сведений о пользователе.
Дерево и элемент управления PictureBox
Есть еще 2 элемента управления, на которые мы можем обратить внимание: один — "Дерево", а другой — "Изображение". Давайте посмотрим на примеры того, как мы можем реализовать эти элементы управления
Управление деревом
– Элемент управления деревом используется для перечисления элементов в виде дерева, такого как мода. Вероятно, лучший пример — это когда мы видим сам проводник Windows. Структура папок в Проводнике Windows похожа на древовидную структуру.
Давайте посмотрим, как это реализовать, на примере, показанном ниже.
Шаг 1. Первым шагом является перетаскивание элемента управления "Дерево" на форму Windows из панели инструментов, как показано ниже
Шаг 2. Следующим шагом является добавление узлов в коллекцию дерева, чтобы она могла соответственно появиться в дереве. Во-первых, давайте выполним следующие подшаги, чтобы добавить корневой узел в коллекцию дерева.
- Перейдите к панели инструментов свойств для элемента управления представлением в виде дерева. Нажмите на свойство узла. Откроется редактор TreeNode.
- В редакторе узла дерева нажмите кнопку "Добавить корень", чтобы добавить корневой узел в коллекцию дерева.
- Далее измените текст корневого узла, укажите текст как корневой и нажмите кнопку «ОК». Это добавит корневой узел.
Шаг 3. Следующим шагом будет добавление дочерних узлов в коллекцию дерева. Давайте выполним следующие подшаги, чтобы добавить дочерний корневой узел в коллекцию дерева.
- Сначала нажмите кнопку "Добавить дочерний элемент". Это позволит вам добавлять дочерние узлы в коллекцию Tree.
- Для каждого дочернего узла измените свойство text. Продолжайте повторять предыдущий шаг и этот шаг и добавьте 2 дополнительных узла. В итоге у вас будет 3 узла, как показано выше, с текстом в виде метки, кнопки и флажка соответственно.
- Нажмите кнопку "ОК".
После внесения вышеуказанных изменений вы увидите следующий вывод.
Вывод:-
Вы сможете увидеть добавленное в форму представление в виде дерева. Когда вы запускаете приложение формы Windows, вы можете развернуть корневой узел и увидеть дочерние узлы в списке.
Элемент управления PictureBox
Шаг 2. Следующим шагом является фактическое прикрепление изображения к элементу управления Picture Box. Это можно сделать, выполнив следующие действия.
Я написал курс так, что вам не нужны дополнительные знания. Однако я предполагаю, что вы знаете хотя бы основы объектно-ориентированного программирования.
Формы Windows
В настоящее время наряду с WinForms существует еще один современный фреймворк — WPF (Windows Presentation Foundation). Он лучше разделяет логику и пользовательский интерфейс, поддерживает более быстрый рендеринг, анимацию, привязки и другие новые технологии. На практике обе платформы используются для создания приложений форм, более новые приложения используют WPF, существующие приложения в основном используют WinForms. В настоящее время WinForms не помечен как устаревший и все еще используется, его использование простое, и вы наверняка столкнетесь со многими приложениями, написанными на WinForms. Так что вы должны как минимум знать о них, хотя, конечно, лучше создавать новые приложения в WPF, который технологически намного дальше.
Наша первая форма заявки
Мы не начнем ни с чего, кроме классического приложения Hello World, на этот раз в формах. Если вы не читали местный курс, позвольте мне повторить, что это простое приложение, которое ничего не делает, кроме как пишет текст.
Создайте новый проект, выберите Приложение Windows Forms в качестве типа проекта. Введите HelloForms в качестве имени проекта:
Теперь окно Visual Studio должно выглядеть примерно так:
Давайте опишем его отдельные части, которые мы будем использовать для разработки приложений формы. Важные части выделены красным на изображении выше.
- Конструктор. В Конструкторе мы видим, как выглядит форма. Пока это просто пустое окно.
- Свойства. В окне "Свойства" мы можем видеть свойства выбранного в данный момент элемента в форме. Если вы не видите это окно, включите его в меню Вид -> Окно свойств.
- Панель инструментов. Панель инструментов представляет собой скользящее окно, которое служит палитрой с отдельными элементами управления, которые мы можем добавить в форму.
Настройка свойств элемента управления
Когда мы выбираем элемент в форме или самой форме, мы можем изменить свойства этого элемента в окне свойств.
Поскольку в форме нет элемента, выбирается форма. Мы изменим заголовок на «Привет». Найдите свойство Text и введите в нем Hello. Результат сразу отражается в конструкторе. Таким образом мы зададим свойства всех элементов формы.
Добавление элементов управления в форму
Теперь мы откроем панель инструментов и выберем элемент управления Label, который представляет собой текстовую метку. Мы вставим его в форму, либо дважды щелкнув по нему, либо перетащив его. Уменьшите размер формы и просто перетащите метку посередине. В окне "Свойства" установите метку "Привет из форм".
Как всегда, вы можете запустить свое первое оконное приложение с помощью зеленой кнопки "Воспроизвести" или клавиши F5. Вы должны получить аналогичный результат:
Под капотом
Давайте объясним, как приложение работает внутри. Сама форма конечно объект (а как иначе). Он объявлен как класс Form1, который мы можем найти в файле Form1.cs. Конечно, вы можете переименовать файл в обозревателе решений, класс также будет переименован. Для нашего приложения форму можно назвать HelloForm , переименуйте ее, чтобы вам было удобнее перемещаться по ней.
Visual Studio отображает либо предварительный просмотр формы, либо ее исходный код. Мы можем переключаться между этими режимами, щелкнув правой кнопкой мыши форму (соответственно код) и выбрав Просмотр кода (соответственно View Designer). Полезно знать сочетания клавиш Shift+F7 для перехода в дизайнер и Ctrl+Alt+0 для перехода в код. Это должен быть ноль на буквенно-цифровой клавиатуре (левый).
Перейдите к форме кода, который выглядит следующим образом (я пропустил начальные операторы использования):
Мы видим, что форма является классом, унаследованным от класса Form. Мы не видим никаких следов того, что мы добавили или установили в форму, только конструктор вызывает странный метод InitializeComponent().
Класс помечен как частичный , что означает, что он определен в нескольких файлах. В частности, есть также файл HelloForm.Designer.cs, который содержит менее читаемый код, который автоматически генерируется, когда мы щелкаем в конструкторе.
Этот код специально выделен в другой файл, чтобы сделать исходный код формы понятным. Никогда не изменяйте файл Designer.cs вручную, вам даже не нужно будет знать, что он существует. Но давайте посмотрим на его содержимое, чтобы понять, как работает приложение:
В коде мы видим скрытый метод InitializeComponent(), который ничего не делает, кроме как создает все элементы в форме один за другим и устанавливает соответствующие выбранные нами свойства. Здесь мы можем увидеть, как создается наша метка и задаются ее свойства. Затем метод вызывается в конструкторе для инициализации формы. Затем ничего не подозревающий программист полностью инкапсулируется из кода, который генерирует дизайнер. Конечно, это в основном делается для того, чтобы они не сломали его. Однако важно знать, как это работает, чтобы иметь возможность, например, добавлять элементы управления во время выполнения или исправлять ошибки в файле конструктора.
Была ли у вас проблема с чем-нибудь? Загрузите пример приложения ниже и сравните его со своим проектом, вы легко найдете ошибку.
Скачать
Читайте также: