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

Как открыть форму в visual studio

  • автор:

Пример. Отладка в Windows Forms

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

Форма Windows Forms — один из наиболее распространенных вариантов управляемых приложений. На основе формы Windows Forms создается стандартное приложение Windows. Можно реализовать данный примере на Visual Basic, C# или C++.

Для начала необходимо закрыть и открыть решения.

Чтобы подготовиться к выполнению данного пошагового руководства

  • Если какое–либо решение уже открыто, закройте его. (В меню Файл выберите команду Закрыть решение.)

Создание новой формы Windows Forms.

Далее нам предстоит создать новую форму Windows Forms.

Чтобы создать форму Windows Forms для данного примера
  1. В меню Файл последовательно выберите пункты Создать и Проект. Откроется диалоговое окно Создание проекта .
  2. В области «Типы проектов» разверните узел Visual Basic, Visual C# или Visual C++, затем
    1. для Visual Basic или Visual C# выберите Классическое приложение Windows>Приложение Windows Form.
    2. Для Visual C++ выберите Классическое приложение Windows.
    textBox1.Text = "Button was clicked!"; 
    textBox1.Text = "Button was clicked!" 
    textBox1->Text = "Button was clicked!"; 

    Отладка формы

    Теперь все готово для того, чтобы начать отладку.

    Чтобы выполнить отладку формы Windows Forms, созданной для данного примера
    1. В окне исходного кода щелкните левое поле на той же строке, в которую добавляется текст:
    textBox1.Text = "Button was clicked!"; 
    textBox1.Text = "Button was clicked!" 
    textBox1->Text = "Button was clicked!"; 

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

    Можно также щелкнуть правкой кнопкой мыши любую строку кода, выбрать пункт Точка останова, затем щелкнуть Вставить точку останова, чтобы добавить точку останова в эту строку.

    Присоединение к приложению Windows Form для отладки

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

    Присоединение к приложению Windows Form для отладки

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

    textBox1.Text = "Button was clicked!" 
    textBox1.Text = "Button was clicked!"; 
    textBox1->Text = "Button was clicked!"; 

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

    • Отладка управляемого кода
    • Безопасность отладчика

    Учебник. Создание приложения WinForms на Visual Basic

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

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

    В этом руководстве описано следующее:

    • Создание проекта
    • Добавление кнопки на форму
    • Добавление метки и кода
    • Выполнение приложения

    Необходимые компоненты

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

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

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

    Создайте проект приложения Visual Basic. Для этого типа проекта уже имеются все нужные файлы шаблонов, что избавляет вас от лишней работы.

    1. Откройте Visual Studio.
    2. На начальном экране выберите Создать проект. Screenshot shows the Visual Studio 2019 start window with Create a new project selected.
    3. В окне Создать проект выберите шаблон Приложение Windows Forms (.NET Framework) для Visual Basic. Вы можете уточнить условия поиска, чтобы быстро перейти к нужному шаблону. Например, введите Приложение Windows Forms в поле поиска. Затем выберите Visual Basic в списке языков и Windows в списке платформ. Screenshot shows the Create a new project window with Windows Forms App (.NET Framework) selected.

    Примечание. Если шаблон Приложение Windows Forms (.NET Framework) отсутствует, его можно установить из окна Создание проекта. В сообщении Не нашли то, что искали? выберите ссылку Установка других средств и компонентов. Screenshot shows the После этого в Visual Studio Installer выберите рабочую нагрузку Разработка классических приложений .NET. Screenshot shows the .NET Core workload selected in the Visual Studio Installer.После этого в Visual Studio Installer выберите Изменить. Вам может быть предложено сохранить результаты работы.

    Screenshot shows the Configure your new project window with the name HelloWorld entered.

  3. В поле Имя проекта окна Настроить новый проект введите HelloWorld. Затем выберите Создать. Новый проект открывается в Visual Studio.
  1. Откройте Visual Studio.
  2. На начальном экране выберите Создать проект. Screenshot shows the Visual Studio 2022 start window with Create a new project selected.
  3. В окне Создать проект выберите шаблон Приложение Windows Forms (.NET Framework) для Visual Basic. Вы можете уточнить условия поиска, чтобы быстро перейти к нужному шаблону. Например, введите Приложение Windows Forms в поле поиска. Затем выберите Visual Basic в списке языков и Windows в списке платформ. Screenshot shows the Create a new project window with Windows Forms App (.NET Framework) selected.

Примечание. Если шаблон Приложение Windows Forms (.NET Framework) отсутствует, его можно установить из окна Создание проекта. В сообщении Не нашли то, что искали? выберите ссылку Установка других средств и компонентов. Screenshot shows the После этого в Visual Studio Installer выберите рабочую нагрузку Разработка классических приложений .NET. Screenshot shows the .NET Core workload selected in the Visual Studio Installer.После этого в Visual Studio Installer выберите Изменить. Вам может быть предложено сохранить результаты работы.

Screenshot shows the Configure your new project window with the name HelloWorld entered.

  • В поле Имя проекта окна Настроить новый проект введите HelloWorld. Затем выберите Создать. Новый проект открывается в Visual Studio.
  • Добавление кнопки на форму

    Когда вы выберете шаблон проекта Visual Basic и зададите имя файла, Visual Studio открывает форму. Форма является пользовательским интерфейсом Windows. Вы создадите приложение Hello World, добавив в форму элементы управления.

    1. В левой части интегрированной среды разработки Visual Studio выберите вкладку Панель элементов. Если вы ее не видите, выберите пункт Представление>Панель элементов в строке меню или воспользуйтесь комбинацией клавиш CTRL+ALT+X. Screenshot shows the Toolbox tab that opens Toolbox window.Если нужно, выберите значок Закрепить, чтобы закрепить окно Панель элементов.
    2. Выберите элемент управления Кнопка и перетащите его на форму. Screenshot shows the Button control added to the form.
    3. В разделе Внешний вид окна Свойства введите для свойства TextНажать это и нажмите клавишу Ввод. Screenshot shows the Text property with the value Click this.Если окно Свойства не отображается, его можно открыть в строке меню. Для этого выберите Вид>Окно свойств или нажмите клавишу F4.
    4. В разделе Проектирование окна Свойства измените имя с Button1 на btnClickThis, а затем нажмите клавишу Ввод. Screenshot shows the Name property with a value of b t n click this.

    Примечание. Если список был упорядочен по алфавиту в окне Свойства, Button1 появится в разделе (DataBindings).

    Добавление метки и кода

    Теперь, когда мы добавили элемент управления »Кнопка» для создания действия, добавьте элемент управления «Метка», куда можно отправлять текст.

    Screenshot shows the a class in the Form1.vs tab where you can add Visual Basic code.

    1. Выберите элемент управления Метка в окне Панель элементов, а затем перетащите его на форму. Поместите его под кнопкой Нажать это.
    2. В разделе Проект или (DataBindings) окна Свойства измените имя Label1 на lblHelloWorld и нажмите клавишу Enter.
    3. В окне Form1.vb [Конструктор] дважды щелкните эту кнопку, чтобы открыть окно Form1.vb. Кроме того, можно развернуть узел Form1.vb в Обозревателе решений, а затем выбрать Form1.
    4. В окне Form1.vb между частными вложенными и конечными вложенными строками введите lblHelloWorld.Text = «Hello World!» как показано на следующем снимке экрана:

    Выполнение приложения

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

    1. Выберите Пуск, чтобы запустить приложение. Screenshot shows the Start button that runs your app.В данном случае происходит следующее. В интегрированной среде разработки Visual Studio откроются окна Средства диагностики и Вывод. Вне этой среды откроется диалоговое окно Form1. Оно будет содержать вашу кнопку Нажать это и текст Label1.
    2. Нажмите кнопку Нажмите это в диалоговом окне Form1. Screenshot shows dialog box titled Form 1 that displays the text Hello World!Текст Label1 меняется на Hello World!.
    3. Закройте диалоговое окно Form1, чтобы завершить работу приложения.

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

    Чтобы узнать больше о Windows Forms, перейдите к следующему учебнику:

    См. также

    • Другие руководства по Visual Basic
    • Руководства по C#
    • Руководства по C++

    Не могу открыть конструктор окна в Visual Studio 2019, вместо открытия конструктора открывается код.

    H-p A Просветленный (46992) тогда это одно и то же что и 2) а вообще варианты такие: а) создать проект и форму нормально б) переставить студию в) объяснить конкретно что не получается с открытием констр.

    It’s KrigerМастер (1137) 4 года назад
    Не понял какого ху9 это лучший ответ.
    Это г0вно а не ответ.
    Vovik MininПрофи (748) 4 года назад
    Трепло, ты хоть раз Визуал Студио то видел? Мелешь всякую чушь

    H-p A Просветленный (46992) Работаю с ней с 2014 года)) А ты чего пришел оскорблять меня? Для жалобы модератору или для того чтобы послал тебя? Так сегодня 2 по цене 1!

    Остальные ответы
    Установите winformsdesigner.setup.vsix
    It’s KrigerМастер (1137) 4 года назад
    Чел, я уже давно перешёл на 2017 и всё норм
    тебе просто нужно было открыть .NET Framework

    Какой тип проекта? Не .NET Core случайно? Там дизайнер для WinForms надо отдельно качать в виде расширения, т. к. оно всё еще не финальное и находится в разработке.

    Ну или создать проект .NET Framework.

    It’s KrigerМастер (1137) 3 года назад
    Спасибо чел, я создавал .NET Core, поэтому не было конструктора.
    Кирилл А Мастер (1783) +++
    Кирилл АМастер (1783) 3 года назад
    Может .net версии другой
    Если всё-таки разобрался как это сделать, то напиши плес) 0)))
    It’s KrigerМастер (1137) 3 года назад

    Вообще моя ошибка была в том, что я создавал проект не .NET Framework, а .NET Core, к которому надо дополнительно ручками докачивать конструктор

    It’s Kriger, подскажите пожалуйста как это сделать через инсталлер визуала?

    одна из возможных проблем может быть что ты создал еще один класс в коде формы, первый класс должен быть главным (имя формы : Form) это очень важно, если первый класс будет какой-то другой то это уже будет не форма

    Mail SystemУченик (172) 3 года назад
    Красавчег! Помог! Спасибо!
    Сергей СмирновУченик (149) 3 года назад
    Кто бы мог подумать. Спасибо.
    X SetПрофи (564) 1 год назад

    Круто. Реально они столько граблей там наставили с этими искусственными объектами, и не сообщает же зараза в чём беда 🙂

    Возможно в файле с классом формы есть ещё какие-то классы. Стоит попробовать переместить их в отдельный файл, оставив в том же пространстве имён, разумеется.

    Как правильно вызвать одну форму из другой?

    Создаю в MS Visual Studio проект Basic Windows Forms. В папке появляется два файла Form1.vb и Form1.Designer.vb и открывается конструктор форм.
    Теперь добавляю вторую форму.
    И хочу из одной формы вызвать другую. Когда я пишу Form2.Show() ‘ появляется такая ошибка: Ссылка на член, не являющийся общим, должна быть ссылкой на объект.
    Слышал, что если написать InitializeComponent() ‘ всё сработает, но нет, выходит, что «InitializeComponent» не объявлен. Может быть недоступен из-за своего уровня защиты
    Если создаю формы вручную в этом же файле и без конструктора, то вроде бы работает.
    Так же, я в Интернете находил похожие примеры кода, запускал и они работают. Тогда почему не работает то, что я написал в своём проекте?
    Может какие ссылки в проект не добавлены или что с настройками?

    Вот, к примеру,. Можете ли вы посмотреть этот архив Project1test111.zip и сказать, где ошибка и как надо правильно?
    Спрашивал на других форумах, но мне так ничего не подсказали.

    Main.vb

    Public Class MainClass Private _IsChild As Boolean Public Shared sLogin As String, sPassword As String Public Sub New() MyClass.New(False) End Sub Public Sub New(isChild As Boolean) ' This call is required by the designer. InitializeComponent() ' "InitializeComponent" не объявлен. Может быть недоступен из-за своего уровня защиты. ' Add any initialization after the InitializeComponent() call. _IsChild = isChild End Sub Shared Sub Main() LoginForm1.Show() ' Ссылка на член, не являющийся общим, должна быть ссылкой на объект. MsgBox(sLogin & " : " & sPassword) End Sub End Class

    LoginForm1.vb

    Public Class LoginForm1 Private Sub OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK.Click MainClass.sLogin = UsernameTextBox.Text MainClass.sPassword = PasswordTextBox.Text Me.Close() End Sub Private Sub Cancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancel.Click Me.Close() End Sub End Class

    LoginForm1.Designer.vb

     _ _ Partial Class LoginForm1 Inherits System.Windows.Forms.Form 'Форма переопределяет dispose для очистки списка компонентов. _ Protected Overrides Sub Dispose(ByVal disposing As Boolean) Try If disposing AndAlso components IsNot Nothing Then components.Dispose() End If Finally MyBase.Dispose(disposing) End Try End Sub Friend WithEvents LogoPictureBox As System.Windows.Forms.PictureBox Friend WithEvents UsernameLabel As System.Windows.Forms.Label Friend WithEvents PasswordLabel As System.Windows.Forms.Label Friend WithEvents UsernameTextBox As System.Windows.Forms.TextBox Friend WithEvents PasswordTextBox As System.Windows.Forms.TextBox Friend WithEvents OK As System.Windows.Forms.Button Friend WithEvents Cancel As System.Windows.Forms.Button 'Является обязательной для конструктора форм Windows Forms Private components As System.ComponentModel.IContainer 'Примечание: следующая процедура является обязательной для конструктора форм Windows Forms 'Для ее изменения используйте конструктор форм Windows Form. 'Не изменяйте ее в редакторе исходного кода. _ Private Sub InitializeComponent() Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(LoginForm1)) Me.LogoPictureBox = New System.Windows.Forms.PictureBox() Me.UsernameLabel = New System.Windows.Forms.Label() Me.PasswordLabel = New System.Windows.Forms.Label() Me.UsernameTextBox = New System.Windows.Forms.TextBox() Me.PasswordTextBox = New System.Windows.Forms.TextBox() Me.OK = New System.Windows.Forms.Button() Me.Cancel = New System.Windows.Forms.Button() CType(Me.LogoPictureBox, System.ComponentModel.ISupportInitialize).BeginInit() Me.SuspendLayout() ' 'LogoPictureBox ' Me.LogoPictureBox.Image = CType(resources.GetObject("LogoPictureBox.Image"), System.Drawing.Image) Me.LogoPictureBox.Location = New System.Drawing.Point(0, 0) Me.LogoPictureBox.Name = "LogoPictureBox" Me.LogoPictureBox.Size = New System.Drawing.Size(165, 193) Me.LogoPictureBox.TabIndex = 0 Me.LogoPictureBox.TabStop = False ' 'UsernameLabel ' Me.UsernameLabel.Location = New System.Drawing.Point(172, 24) Me.UsernameLabel.Name = "UsernameLabel" Me.UsernameLabel.Size = New System.Drawing.Size(220, 23) Me.UsernameLabel.TabIndex = 0 Me.UsernameLabel.Text = "&Имя пользователя" Me.UsernameLabel.TextAlign = System.Drawing.ContentAlignment.MiddleLeft ' 'PasswordLabel ' Me.PasswordLabel.Location = New System.Drawing.Point(172, 81) Me.PasswordLabel.Name = "PasswordLabel" Me.PasswordLabel.Size = New System.Drawing.Size(220, 23) Me.PasswordLabel.TabIndex = 2 Me.PasswordLabel.Text = "&Пароль" Me.PasswordLabel.TextAlign = System.Drawing.ContentAlignment.MiddleLeft ' 'UsernameTextBox ' Me.UsernameTextBox.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.Suggest Me.UsernameTextBox.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.HistoryList Me.UsernameTextBox.CharacterCasing = System.Windows.Forms.CharacterCasing.Upper Me.UsernameTextBox.Location = New System.Drawing.Point(174, 44) Me.UsernameTextBox.MaxLength = 70 Me.UsernameTextBox.Name = "UsernameTextBox" Me.UsernameTextBox.Size = New System.Drawing.Size(220, 22) Me.UsernameTextBox.TabIndex = 1 ' 'PasswordTextBox ' Me.PasswordTextBox.Location = New System.Drawing.Point(174, 101) Me.PasswordTextBox.Name = "PasswordTextBox" Me.PasswordTextBox.PasswordChar = Global.Microsoft.VisualBasic.ChrW(42) Me.PasswordTextBox.Size = New System.Drawing.Size(220, 22) Me.PasswordTextBox.TabIndex = 3 ' 'OK ' Me.OK.Location = New System.Drawing.Point(197, 161) Me.OK.Name = "OK" Me.OK.Size = New System.Drawing.Size(94, 23) Me.OK.TabIndex = 4 Me.OK.Text = "&ОК" ' 'Cancel ' Me.Cancel.DialogResult = System.Windows.Forms.DialogResult.Cancel Me.Cancel.Location = New System.Drawing.Point(300, 161) Me.Cancel.Name = "Cancel" Me.Cancel.Size = New System.Drawing.Size(94, 23) Me.Cancel.TabIndex = 5 Me.Cancel.Text = "&Отмена" ' 'LoginForm1 ' Me.AcceptButton = Me.OK Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.CancelButton = Me.Cancel Me.ClientSize = New System.Drawing.Size(401, 192) Me.Controls.Add(Me.Cancel) Me.Controls.Add(Me.OK) Me.Controls.Add(Me.PasswordTextBox) Me.Controls.Add(Me.UsernameTextBox) Me.Controls.Add(Me.PasswordLabel) Me.Controls.Add(Me.UsernameLabel) Me.Controls.Add(Me.LogoPictureBox) Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog Me.MaximizeBox = False Me.MinimizeBox = False Me.Name = "LoginForm1" Me.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent Me.Text = "LoginForm1" CType(Me.LogoPictureBox, System.ComponentModel.ISupportInitialize).EndInit() Me.ResumeLayout(False) Me.PerformLayout() End Sub End Class

    Как сделать, чтобы именно этот пример заработал?

    • Вопрос задан более трёх лет назад
    • 2153 просмотра

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

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