Отладка формы Windows Forms — Visual Studio (Windows)
Twitter LinkedIn Facebook Адрес электронной почты
- Статья
- Чтение занимает 3 мин
Область применения:Visual StudioVisual Studio для Mac Visual Studio Code
Форма Windows Forms — один из наиболее распространенных вариантов управляемых приложений. На основе формы Windows Forms создается стандартное приложение Windows. Можно реализовать данный примере на Visual Basic, C# или C++.
Для начала необходимо закрыть и открыть решения.
Чтобы подготовиться к выполнению данного пошагового руководства
- Если какое–либо решение уже открыто, закройте его. (В меню Файл выберите команду Закрыть решение.)
Создание новой формы Windows Forms.
Далее нам предстоит создать новую форму Windows Forms.
Чтобы создать форму Windows Forms для данного примера
В меню Файл последовательно выберите пункты Создать и Проект.
Откроется диалоговое окно Новый проект .
В области «Типы проектов» разверните узел Visual Basic, Visual C# или Visual C++ , затем
для Visual Basic или Visual C# выберите Классическое приложение Windows>Приложение Windows Form.
Для Visual C++ выберите Классическое приложение Windows.
В поле Имя задайте уникальное имя проекта (например, Walkthrough_SimpleDebug).
Нажмите кнопку ОК.
Visual Studio создаст новый проект и откроет новую форму в конструкторе Windows Forms. Дополнительные сведения см. в разделе Конструктор Windows Forms.
В меню Вид выберите пункт Панель элементов.
Откроется Панель элементов. См. дополнительные сведения о панели элементов.
В панели элементов щелкните элемент управления Кнопка и перетащите его на поверхность разработки формы. Опустите кнопку на форму.
В панели элементов щелкните элемент управления Текстовое поле и перетащите его на поверхность разработки формы. Бросьте Текстовое поле в форму.
На поверхности разработки формы дважды щелкните кнопку.
Появится страница кода. Курсор должен находиться в тексте
button1_Click
В функции
button1_Click
добавьте следующий код:- C#
- VB
- C++
textBox1.Text = "Button was clicked!";
В меню Сборка выберите команду Собрать решение.
Проект должен быть построен без ошибок.
Отладка формы
Теперь все готово для того, чтобы начать отладку.
Чтобы выполнить отладку формы Windows Forms, созданной для данного примера
В окне исходного кода щелкните левое поле на той же строке, в которую добавляется текст:
- C#
- VB
- C++
textBox1.Text = "Button was clicked!";
Появится красная точка, и текст строки будет выделен красным цветом.
Красная точка представляет точку останова. Дополнительные сведения см. в разделе Точки останова. Если приложение запускается из отладчика, выполнение этого приложения будет приостановлено отладчиком на строке с помеченным кодом. После этого можно просмотреть состояние приложения и произвести его отладку.
Примечание
Можно также щелкнуть правкой кнопкой мыши любую строку кода, выбрать пункт Точка останова, затем щелкнуть Вставить точку останова, чтобы добавить точку останова в эту строку.
В меню Отладка выберите команду Пуск.
Запустится форма Windows Forms.
В форме Windows Forms щелкните добавленную кнопку.
После этого в Visual Studio приложение остановится на той строке, где была задана точка останова на странице кода. Эта строка будет выделена желтым цветом. Теперь можно просматривать переменные в приложении и управлять его выполнением. В этот момент приложение остановит свое выполнение и будет ожидать действий со стороны пользователя.
В меню Отладка выберите пункт Окна, затем Контрольные значения и потом Контрольные значения 1.
В окне Контрольные значения 1 щелкните пустую строку. В столбце Имя введите
textBox1.Text
(если используется Visual Basic или Visual C#) илиtextBox1->Text
(если используется C++), затем нажмите клавишу ВВОД.Окно Контрольные значения 1 отобразит значение этой переменной в двойных кавычках, как показано ниже:
""
В меню Отладка выберите команду Выполнять по шагам.
Значение textBox1.Text в окне Контрольные значения 1 изменится на следующее:
Button was clicked!
В меню Отладка выберите команду Продолжить для возобновления отладки программы.
В форме Windows Forms снова нажмите кнопку.
Visual Studio снова приостановит выполнение программы.
Щелкните красную точка, представляющую точка останова.
Это действие удалит точка останова из кода программы.В меню Отладка выберите Остановить отладку.
Присоединение к приложению Windows Form для отладки
В Visual Studio вы можете подключить отладчик к выполняющемуся процессу. Если используется экспресс-выпуск, эта функция не поддерживается.
Присоединение к приложению Windows Form для отладки
В созданном ранее проекте щелкните левое поле, чтобы еще раз установить точка останова на добавленной строке:
- VB
- C#
- C++
textBox1.Text = "Button was clicked!";
В меню Отладка выберите команду Запуск без отладки.
Форма Windows Forms запустится из Windows, как и при двойном щелчке исполняемого файла.
Отладчик не будет присоединен.
В меню Отладка выберите команду Присоединиться к процессу. (Эта команда также доступна из меню Средства.)
Откроется диалоговое окно Присоединение к процессу .В области Доступные процессы найдите в столбце Процесс имя процесса (Walkthrough_SimpleDebug.exe) и щелкните его.
Нажмите кнопку Присоединиться.
В форме Windows Forms нажмите единственную кнопку.
Отладчик прервет выполнение формы Windows Forms на точке останова.
См. также
- Отладка управляемого кода
- Безопасность отладчика
Timer и PictureBox, создание анимации
Дата изменения: 3 марта 2017
Целью данной практической работы является ознакомление с объектом PictureBox
(контейнер с изображением) для создания эффекта анимации.
Разработайте приложение, в котором при нажатии на кнопку изображение будет перемещаться по экрану (например, по горизонтали)
Целью данной практической работы является ознакомление с объектом PictureBox
(контейнер с изображением) для создания эффекта анимации.
Инструментарий:
объект | свойство name |
---|---|
форма | |
контейнер для картинки (PictureBox) | pct |
кнопка (button) | btnStart |
кнопка (button) | btnExit |
таймер (timer) | tmr |
Выполнение:
Для отображения в Visual c++ фото и изображений любого формата используется объект PictureBox.
- Создайте новый проект и расположите на новой форме элементы управления PictureBox (назовите его pct) и два элемента Button: btnStart и btnExit, как показано на рисунке.
Создайте также объект Timer (tmr), который будет передвигать PictureBox через определенные промежутки времени.
Элемент управления Timer скрытый, он появляется ниже дизайна формы.
- В окне свойств объекта картинки выберите свойство Image и в открывшемся диалоговом окне выберите любой файл картинки.
- Для того чтобы PictureBox перемещался вправо, необходимо увеличивать его свойство Left – координату левого края. Поэтому запрограммируйте событие Tick объекта Timer следующим образом:
private: System::Void tmr_Tick(…) { this->pct->Left= this->pct->Left+20; } |
- Теперь необходимо запустить Таймер. Это можно сделать нажатием кнопки Старт.
Поместите следующий код в обработку события Click кнопки Старт:
private: System::Void btnStart_Click(…) { this->tmr->Enabled=true; // запускаем таймер this -> tmr->Interval=50; // устанавливаем интервал таймера в 50 миллисекунд } |
Комментарии в C++ можно задавать после двойного символа слэш (//). Среда редактирования раскрасит их в зеленый цвет.
- Запустите и отладьте приложение. Сохраните его.
Дополнительное задание.
Измените приложение так, чтобы при первом нажатии на кнопку Старт графическое окно начинало двигаться, а при повторном – останавливалось. При этом должна меняться надпись на кнопке: Старт – при запуске, Стоп – при остановке.
Примечание: для реализации задачи понадобится оператор Visual c++ If
Вопросы для самоконтроля:
- Каково основное назначение элемента управления языка Visual c++ PictureBox?
- Для чего используется элемент управления Timer при создании анимации?
- Какое свойство PictureBox необходимо изменить для того, чтобы переместить этот элемент управления по вертикали?
Разместил admin / 20 июня, 2016 / 0 Комментарии
Использование визуального наследования для создания согласованных форм Windows в VB.

Исходный код статьи (как VB.NET, так и C#): visual_inherit.zip
Visual Inheritance — это способ Microsoft описать наследование реализации визуального объекта, например как Windows Forms. Это может показаться сложным, если вы только переходите с VB6, но концепция аналогична использованию элемента управления ActiveX в форме VB6. Разница заключается в возможности повторного использования на уровне формы.
Наследование форм — это мощная функция, позволяющая стандартизировать общие элементы формы между проектами, которые можно изменять в одном месте, а не в бесчисленных отдельных формах. Например, однажды мне пришлось переупорядочить кнопки на нескольких десятках форм, чтобы кнопки располагались слева направо как 9.0009 Справка , OK и Отмена вместо OK , Отмена и Справка . Если бы я использовал базовую форму Windows, я мог бы изменить порядок в базовой форме, перекомпилировать ее и покончить с этим.
В следующем примере вы создадите форму, добавите элементы управления, сохраните форму в библиотеке классов и наследуете эту форму в другом проекте. Здесь показан VB.NET, но шаги аналогичны при использовании C#. В коде статьи вы найдете реализацию VB.NET и C#.
Начало работы
В Visual Studio .NET перейдите в главное меню и выберите Файл > Создать > Пустое решение . Назовите его VisualInheritanceExample
и нажмите OK.
Создайте базовый проект
Выберите «Файл» > «Добавить проект» > «Новый проект » и выберите проект «Приложение Windows
». Назовите его StandardCompanyForms
и нажмите OK. Перейдите к Вид > Обозреватель решений и выберите Form1.vb
. Щелкните правой кнопкой мыши и выберите Переименовать . Измените имя на OKCancelForm.vb
. Обратите внимание, , что это имя файла, а не самой формы. Свойства, заданные вами в форме (за исключением свойства Name), будут использоваться по умолчанию при наследовании формы.
Выберите форму в редакторе дизайна, перейдите к Вид > Окно свойств и внесите изменения, чтобы получить следующие свойства:
|

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

Anchor
заставляет кнопки сохранять согласованное относительное расположение при изменении размера формы.
|
|
|
Add Button Event Code
Double -нажмите кнопку OK
, чтобы сгенерировать событие щелчка в редакторе кода, и добавьте код для закрытия формы при нажатии кнопки OK.
Частная подкнопка OK_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Обрабатывает кнопку OK.Click Я.Закрыть() End Sub
Чтобы добавить событие клика, когда вы все еще находитесь в редакторе кода, щелкните раскрывающийся список Имя класса и выберите buttonCancel
из списка. Раскрывающийся список «Имя метода» заполняется доступными событиями. Выберите Нажмите
из списка.
Добавьте код, чтобы подсказывать пользователям, действительно ли они хотят отменить подписку. Окно сообщения с Да
и появится кнопка Нет
. Если пользователь нажмет Нет
, ничего не произойдет. Если пользователь нажимает Да
, форма закрывается.
Private Sub buttonCancel_Click(ByVal sender As Object, _ ByVal e As System.EventArgs) Обрабатывает кнопкуCancel.Click Затемнить результат как DialogResult result = MessageBox.Show("Вы уверены, что хотите отменить?", _ "Стандартный заголовок компании", MessageBoxButtons.YesNo, _ MessageBoxIcon.Вопрос) Если результат = DialogResult.Yes Тогда Я.Закрыть() Конец если Конец подписки
Если вы хотите связать пользователя, нажимающего клавишу Escape
, с buttonCancel
, перейдите в редактор дизайна, выберите форму и измените свойство CancelButton
на buttonCancel
.
Теперь создайте событие click для buttonAbout
, чтобы показать некоторую информацию о базовой программе. Это дает вам отправную точку для возврата информации о вашей программе. Слово предупреждения, однако, вы получите ошибку безопасности во время выполнения, если выполняется на другом компьютере в сети. Класс StringBuilder
обеспечивает оптимизированную конкатенацию строк.
Частная подкнопкаAbout_Click(ByVal отправитель как объект, _ ByVal e As System.EventArgs) Обрабатывает кнопкуAbout.Click Dim objVersionInfo As FileVersionInfo = FileVersionInfo.GetVersionInfo( _ System.Reflection.Assembly.GetExecutingAssembly().Расположение) Dim objStringBuilder As System.Text.StringBuilder = Новый _ System.Text.StringBuilder(objVersionInfo.InternalName) objStringBuilder.Append(Environment.NewLine) objStringBuilder.Append(objVersionInfo.ProductVersion) MessageBox.Show(objStringBuilder.ToString(), _ "Стандартный заголовок компании", MessageBoxButtons.OK, _ MessageBoxIcon.Информация) Конец подписки
Перейдите в обозреватель решений и выберите проект StandardCompanyForms
. Щелкните правой кнопкой мыши и выберите «Свойства», чтобы отобразить пользовательский интерфейс страниц свойств. Обратите внимание, , что элемент «Свойства» не отображается в меню «Проект», если не выбран сам элемент проекта. Измените выбранный элемент в раскрывающемся списке объектов запуска на formOKCancel
и нажмите OK. Вам нужно сделать это, потому что вы изменили имя формы по умолчанию.
Перейдите к Debug > Start , чтобы запустить проект и посмотреть, как он работает. Разверните форму и обратите внимание на расположение кнопок. Нажмите на каждую из кнопок.
Теперь вы готовы изменить проект приложения Windows на библиотеку классов. Вы могли бы начать этот проект как библиотеку классов, но тогда вы не смогли бы запустить форму, пока не унаследовали ее.
Выберите проект StandardCompanyForms
в обозревателе решений, а затем выберите Проект > Свойства из главного окна. На странице свойств «Общие» измените тип вывода с «Приложение Windows» на «Библиотека классов» и нажмите «ОК».
Пересоберите (перекомпилируйте) ваш проект. Этот шаг очень важен . Когда проект перестраивается, код выводится в DLL вместо EXE. Если вы не выполните этот шаг, вы не сможете наследовать форму в другом проекте.
Создать производный проект
В главном меню выберите Файл > Добавить проект > Новый проект . Выберите Приложение Windows и назовите его CustomForms
. Это проект, который будет включать в себя производные (унаследованные) формы.
В обозревателе решений выберите созданный по умолчанию Form1.vb
и удалите его. Выберите проект CustomForms
в обозревателе решений и щелкните правой кнопкой мыши, чтобы отобразить контекстное меню. Выберите Добавить > Добавить унаследованную форму . Пользовательский интерфейс добавления нового элемента 9появится 0010. Измените имя создаваемой формы на formInheritedCompanyStandard
, затем нажмите OK.
Появляется пользовательский интерфейс средства выбора наследования , в котором отображаются доступные компоненты для наследования. Так как он только один, нажмите OK. Это добавляет ссылку в новый проект на библиотеку классов StandardCompanyForms и создает форму, идентичную форме в библиотеке классов. Элементы управления в форме имеют маленькие стрелки в верхнем левом углу, указывающие на то, что они унаследованы. Наведите указатель мыши на элемент управления, чтобы увидеть всплывающую подсказку, например «Унаследованный элемент управления (частный)». Если вы изменили свойство Modifiers в исходном элементе управления на Protected или Public, вы сможете изменить его свойства, такие как размер, в унаследованной форме (хотя вы не сможете его удалить).
Выберите проект CustomForms
в обозревателе решений и щелкните правой кнопкой мыши, чтобы отобразить контекстное меню. Выберите «Установить как запускаемый проект». Название проекта теперь должно быть выделено жирным шрифтом.
Если вы запустите код, не зайдя в Свойства проекта и не изменив форму запуска, вы получите сообщение об ошибке. В списке задач будет указано, что «Sub Main» не найден в «CustomForms.Form1». Дважды щелкните элемент в списке задач, чтобы открыть пользовательский интерфейс запускаемых объектов. Выберите CustomForms.formInheritedCompanyStandard
и нажмите OK. Запустите код. Форма должна выглядеть и вести себя так же, как и раньше.
Теперь вы готовы добавить в форму собственные элементы управления. Если вы внесете изменения в базовую форму
OKОтмена
, вам потребуется перекомпилировать этот проект, прежде чем ваши изменения появятся в унаследованных формах
Предупреждение
Вы должны тщательно спланировать содержимое и поведение вашей базовой формы, прежде чем наследуя от него. Вам нужно оставить достаточно места для размещения всех возможных элементов управления, которые вы можете добавить позже. Вы не можете перекрывать элементы управления в унаследованной форме, поэтому использование элемента управления панели, прикрепленного к нижней части, означает, что никакие дополнительные элементы управления не могут быть размещены в нижней части унаследованной формы.
Чтобы продемонстрировать причину использования панели управления, добавьте новую кнопку в базовую форму ( formOKCancel
) прямо над панелью управления. Задайте для свойства Anchor значение Bottom. Перестройте проект. Измените размер унаследованной формы ( formInheritedCompanyStandard
) в редакторе дизайна, чтобы ее высота увеличилась вдвое.
Вернитесь к базовой форме и переместите новую кнопку на несколько пикселей влево. Перестройте проект. Когда вы вернетесь к унаследованной форме, новая кнопка окажется в пикселях, а не в относительном месте, как вы могли ожидать. Измените размер формы и убедитесь, что смещения предполагаются от этого местоположения в пикселях.
Резюме
Визуальное наследование может быть мощным средством повторного использования, позволяющим вносить изменения в дизайн и код в одном месте и применять их в нескольких формах. Но, как и во всем, для наиболее эффективного осуществления этого следует использовать осторожность и планирование.
Связанные статьи devCity.NET:
- Использование наследования для создания пользовательского TreeView
- Динамическое изменение формы Windows с помощью пользовательского элемента управления и TabControl
Введение в приложения C# Windows Forms
Введение в приложения C# Windows Forms — Tutorialspoint.
Windows Forms — это библиотека классов графического пользовательского интерфейса (GUI), которая входит в состав .Net Framework . Его основная цель — предоставить более простой интерфейс для разработки приложений для настольных компьютеров, планшетов и ПК. Его также называют WinForms . Приложения, разработанные с использованием Windows Forms или WinForms, известны как Приложения Windows Forms , работающие на настольном компьютере. WinForms можно использовать только для разработки приложений Windows Forms, а не веб-приложений. Приложения WinForms могут содержать различные типы элементов управления, такие как метки, списки, всплывающие подсказки и т. д.
Создание приложения Windows Forms с помощью Visual Studio 2017
- Сначала откройте Visual Studio, затем перейдите к Файл -> Создать -> Проект чтобы создать новый проект, а затем выберите язык как Visual C# из левого меню. Нажмите Приложение Windows Forms (.
NET Framework) в середине текущего окна. После этого укажите имя проекта и нажмите OK .
Здесь решение похоже на контейнер, который содержит проекты и файлы, которые могут потребоваться программе.
- После этого появится следующее окно, которое будет разделено на три части следующим образом:
- Окно редактора или главное окно: Здесь вы будете работать с формами и редактировать код. Вы можете заметить макет формы, которая теперь пуста. Вы дважды щелкните форму, после чего откроется код для этого.
- Окно обозревателя решений: Используется для перехода между всеми элементами решения. Например, если вы выберете файл из этого окна, то конкретная информация будет отображаться в окне свойств.
- Окно свойств: Это окно используется для изменения различных свойств выбранного элемента в обозревателе решений. Кроме того, вы можете изменить свойства компонентов или элементов управления, которые вы добавите в формы.
Вы также можете сбросить макет окна, установив его по умолчанию. Чтобы установить макет по умолчанию, перейдите к Window -> Reset Window Layout в меню Visual Studio.
- Теперь чтобы добавить элементы управления в ваше приложение WinForms перейдите на вкладку Toolbox в крайней левой части Visual Studio. Здесь вы можете увидеть список элементов управления. Чтобы получить доступ к наиболее часто используемым элементам управления, перейдите к разделу «Общие элементы управления» на вкладке «Панель инструментов».
- Теперь перетащите нужные элементы управления на созданную форму. Например, если вы можете добавить TextBox, ListBox, Button и т. д., как показано ниже. Нажав на конкретный перетащенный элемент управления, вы можете увидеть и изменить его свойства, присутствующие в самом правом углу Visual Studio.
На приведенном выше изображении вы можете видеть, что TextBox выбран, а его свойства, такие как TextAlign, MaxLength и т.