c приложение с несколькими формами

Как создавать дочерние формы MDI

Дочерние MDI-формы являются ключевым элементом приложений с интерфейсом MDI, так как эти формы являются центром взаимодействия с пользователем.

в следующей процедуре используется Visual Studio для создания дочерней MDI-формы, отображающей RichTextBox элемент управления, аналогично большинству приложений для обработки текстов. Подставив System.Windows.Forms элемент управления другими элементами управления, такими как DataGridView элемент управления или сочетанием элементов управления, можно создавать дочерние MDI-окна (и, по расширениям, приложения MDI) с различными возможностями.

Создание дочерних форм MDI

При этом форма назначается в качестве MDI-контейнера для дочерних окон.

Из Toolbox перетащите элемент управления MenuStrip в форму. Присвойте Text свойству значение File.

В обозревателе решений щелкните проект правой кнопкой мыши и выберите пункты Добавить > Новый элемент.

Дочерняя форма MDI, созданная на этом этапе, является стандартной формой Windows Forms. Таким образом, у нее есть свойство Opacity, которое позволяет управлять прозрачностью формы. Однако свойство Opacity предназначено для окон верхнего уровня. Его не следует использовать в дочерних формах MDI, иначе могут возникнуть проблемы с рисованием.

Эта форма будет шаблоном для дочерних форм MDI.

Перетащите элемент управления RichTextBox из панели элементов в форму.

В окне Свойства задайте Anchor для свойства значение сверху, слева и Dock свойство для заполнения.

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

Дважды щелкните Новый элемент меню, чтобы создать Click для него обработчик событий.

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

В C++ добавьте следующую #include директиву в верхней части Form1. h:

Это позволяет меню » окно » поддерживать список открытых дочерних окон MDI с галочкой рядом с активным дочерним окном.

Источник

Создание приложения Windows Forms на C# в Visual Studio

В рамках этого краткого знакомства с возможностями интегрированной среды разработки Visual Studio (IDE) вы создадите простое приложение на C# с пользовательским интерфейсом на основе Windows.

Установите Visual Studio бесплатно со страницы скачиваемых материалов Visual Studio, если еще не сделали этого.

Установите Visual Studio бесплатно со страницы скачиваемых материалов Visual Studio, если еще не сделали этого.

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

Установите Visual Studio 2022 бесплатно со страницы скачиваемых материалов Visual Studio 2022, если еще не сделали этого.

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

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

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

Откройте Visual Studio 2017.

В верхней строке меню последовательно выберите Файл > Создать > Проект.

install dot net desktop env

Запустите Visual Studio.

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

create new project dark theme

В окне Создать проект выберите шаблон Приложение Windows Forms (.NET Framework) для C#.

(При желании вы можете уточнить условия поиска, чтобы быстро перейти к нужному шаблону. Например, введите Приложение Windows Forms в поле поиска. Затем выберите C# в списке языков и Windows в списке платформ.)

csharp create new winforms project nonfiltered

Если шаблон Приложение Windows Forms (.NET Framework) отсутствует, его можно установить из окна Создание проекта. В сообщении Не нашли то, что искали? выберите ссылку Установка других средств и компонентов.

not finding what looking for

install dot net desktop env

Затем нажмите кнопку Изменить в Visual Studio Installer. Вам может быть предложено сохранить результаты работы; в таком случае сделайте это. Выберите Продолжить, чтобы установить рабочую нагрузку. После этого вернитесь к шагу 2 в процедуре Создание проекта.

В поле Имя проекта окна Настроить новый проект введите HelloWorld. Затем нажмите Создать.

csharp name your winform project helloworld

Новый проект открывается в Visual Studio.

Создание приложения

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

Добавление кнопки на форму

Щелкните Панель элементов, чтобы открыть всплывающее окно «Панель элементов».

csharp toolbox toolwindow

(Если параметр для всплывающего окна Панель элементов отсутствует, его можно открыть в строке меню. Для этого выберите Вид > Панель элементов. Либо нажмите клавиши CTRL+ALT+X.)

Щелкните значок Закрепить, чтобы закрепить окно Панель элементов.

vb pin the toolbox window

Выберите элемент управления Кнопка и перетащите его на форму.

(Если окно Свойства не отображается, его можно открыть в строке меню.) Для этого выберите Вид > Окно свойств. Или нажмите клавишу F4.)

Добавление метки на форму

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

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

В разделе Проект или (DataBindings) окна Свойства измените имя Label1 на lblHelloWorld и нажмите клавишу ВВОД.

Добавление кода на форму

В окне Form1.cs [Проект] дважды щелкните кнопку Нажмите это, чтобы открыть окно Form1.cs.

(Кроме того, можно развернуть узел Form1.cs в обозревателе решений, а затем выбрать Form1.)

csharp winforms add code

Запуск приложения

Нажмите кнопку Запустить, чтобы запустить приложение.

vb click start hello world

Будет выполнено несколько операций. В интегрированной среде разработки Visual Studio откроются окна Средства диагностики и Вывод. Кроме того, вне этой среды откроется диалоговое окно Form1. Оно будет содержать вашу кнопку Нажмите это и текст Label1.

vb form1 dialog hello world

Закройте диалоговое окно Form1, чтобы завершить работу приложения.

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

Для получения дополнительных сведений перейдите к следующему руководству:

Источник

BestProg

Пример создания и вызова новой формы приложения в C#

Содержание

Поиск на других ресурсах:

Условие задания

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

В главной форме Form1 разместить:

Во второстепенной форме Form2 разместить:

02 02 00 006 01r

Рис. 1. Схема взаимодействия между формами

Выполнение

1. Создать приложение типа Windows Forms Application

Сохранить проект в произвольной папке.

После создания приложения у нас есть одна форма. Программный код формы размещен в файле « Form1.cs » (рис. 2).

02 02 00 006 02

Рис. 2. Главная форма приложения Form1

2. Разработка главной формы приложения

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

02 02 00 006 03

Рис. 3. Главная форма приложения после внесенных изменений

3. Создание второстепенной формы

Для создания второстепенной формы в C# можно воспользоваться несколькими способами.

Способ 1.
Для добавления формы №2 в проект этим способом нужно вызвать команду (рис. 4)

02 02 00 006 04 1

Рис. 4. Команда « Add Windows Form… » для добавления новой формы в проект

В результате откроется окно « Add New Item — Windows Forms Application1 «. В этом окне выбираем элемент « Windows Form » (рис. 5). Оставляем имя формы как « Form2.cs «.

02 02 00 006 05

Рис. 5. Окно добавления новой формы к проекту

После нажатия на кнопке « Add » новая форма будет добавлена к проекту (рис. 6).

02 02 00 006 06Рис. 6. Новосозданная форма Form2 и файл « Form2.cs «

Способ 2.

Также новую форму можно добавить к проекту с помощью соответствующей команды из контекстного меню (рис. 7).
Последовательность действий следующая:

02 02 00 006 07

Рис. 7. Добавление новой формы из Solution Explorer

В результате откроется точно такое же окно как на рисунке 5.

4. Разработка второстепенной формы

02 02 00 006 08

Рис. 8. Второстепенная форма Form2

5. Программирование событий клика на кнопках OK и Cancel формы Form2

В программный код обработчика события button1_Click() (кнопка « OK «) вписываем следующую строку:

это значит, что результат возврата из формы Form2 есть « OK «.
Точно так же в обработчике события button2_Click вписываем:

это значит выбор кнопки « Cancel » ( button2 ).

После внесенных изменений листинг программного кода файла « Form2.c s» будет иметь следующий вид:

02 02 00 006 09

Рис. 9. Команда « View Code » для перехода в режим программного кода

6. Вызов формы Form2 из главной формы приложения

Согласно с условием задачи, для вызова Form2 из Form1 нужно запрограммировать событие клика на кнопке « Show Form 2 «.

Программный код обработчика события будет иметь следующий вид:

Листинг всего программного кода формы Form1 следующий

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

После выполненных действий можно выполнять приложение и исследовать его работу.

Источник

учимся
программировать

Программированию нельзя научить, можно только научится

Главная » Уроки по ООП » Урок 18. Создание программ с использованием нескольких форм

Урок 18. Создание программ с использованием нескольких форм

Уровень 1.

Задание 1. Создание приложения с модальной формой заставки.
Ход работы:

Lab clip image001
Рисунок 1.

Lab clip image002

Lab clip image003

Lab clip image004

Вопросы:
Что выполняет оператор Action:=caFree? Для чего он используется в событии onClose?
Для чего используется раздел Uses?

Уровень 2.

Задание 2. Создать форму запроса пароля.

Lab clip image005
Рисунок 2

Lab clip image006

Lab clip image007

Уровень 3.

Задание 3.
Описанный выше способ управления формой запроса пароля не является оптимальным. Он просто призван был показать, как можно обрабатывать величину ModalResult, возвращаемую методом ShowModal. Но то же самое можно было бы сделать и проще.
Задание – измените программу так:
в обработчике события OnKeyDown окна редактирования на форме Form3 напишите более простой оператор:
Lab clip image008
При неверном пароле этот оператор завершает работу всего приложения методом Application.Terminate.
Тогда в главной форме не надо анализировать результат работы пользователя с формой Form3, так как если приложение не закрылось при выполнении оператора ShowModal, то значит пароль введен правильный. Поэтому измените обработчик onShow главной формы:
Lab clip image009
Запустите программу и проверьте правильность ее работы.

Дополнительное задание

В текст модуля Unit1 после ключевого слова Var перед ключевым словом implementation введите описание переменных, как показано ниже:

var
Form1: TForm1;
C_time, // Цена за 1 минуту
C_traf, // Цена за 1 мегабайт
C_kurs : double; // Курс доллара

Затем создадим обработчик события – нажатия кнопки Button1, как показано в тексте ниже:

procedure TForm1.Button1Click(Sender: TObject);
var Time, Traf, Val : double;
begin
Time:=StrToFloat(Edit1.Text);
Traf:=StrToFloat(Edit2.Text);
Val:=(C_time*Time + C_traf*Traf)*C_kurs;
Panel1.Caption:=FloatToStrF(Val, ffFixed, 10, 2);
end;

Если мы сейчас запустим программу на выполнение, то увидим, что при любых значениях, помещенных нами в поля Edit1 и Edit2 результат всегда получается нулевой. Это и понятно, ведь переменным C_time, C_traf и C_kurs мы не присваивали никаких значений, и поэтому «по умолчанию» Delphi присвоила им значение ноль.
Можно присвоить значения данным переменным в так называемой секции инициализации модуля Unit1.
Для этого надо перед завершающим end. (с точкой) в конце модуля ввести ключевое слово initialization и затем присвоить значения переменным:
……………………
initialization
C_time:=0.015;
C_traf:=0.82;
C_Kurs:=149.6;
end.
Если теперь Вы запустите программу на выполнение, то результат расчета будет правильным.
Но что делать, если цены и курс у.е. изменятся? Придется снова открывать Delphi и изменять текст программы – это неудобно.
Лучше, если мы сможем изменять цены и курс во время работы программы.
Для этого заведем для разнообразия еще одну форму.
Выберите в меню Delphi пункт File, New Form.
Поместите на новую форму компоненты, которые показаны на рисунке ниже и присвойте им необходимые свойства в инспекторе объектов:
Lab clip image001 0000
В частности, для кнопок BitBtn1 и BitBtn2 установите их свойство Kind в значения bkOk и bkCancel соответственно.
Щелкните теперь дважды по кнопке Button2 (Параметры) первой формы и вставьте в созданный Delphi шаблон строку, показанную жирным шрифтом:
procedure TForm1.Button2Click(Sender: TObject);
begin
Form2.ShowModal;
end;
Запустите проект на выполнение. После запуска на экране появится сообщение:

Смело щелкайте по кнопке “Yes”.
Теперь во время работы программы Вы можете щелкнуть по кнопке «Параметры» и увидите на экране вторую форму.
Закройте проект, перейдите в конструкторе на вторую форму.
В инспекторе объектов перейдите на вкладку “Events”, найдите событие OnCreate для Form2, щелкните дважды в поле ввода этого события и заполните созданный Delphi шаблон приведенными ниже строками:
procedure TForm2.FormCreate(Sender: TObject);
begin
C_time:=StrToFloat(Edit1.Text);
C_traf:=StrToFloat(Edit2.Text);
C_kurs:=StrToFloat(Edit3.Text);
end;
Щелкните также дважды на кнопке BitBtn1 и заполните созданный Delphi шаблон приведенными ниже строками:
procedure TForm2.BitBtn1Click(Sender: TObject);
begin
C_time:=StrToFloat(Edit1.Text);
C_traf:=StrToFloat(Edit2.Text);
C_kurs:=StrToFloat(Edit3.Text);
Form1.Button1.Click;
end;
Запустите проект, и убедитесь, что все работает правильно.

Источник

Несколько форм в одном приложении

Помощь в написании контрольных, курсовых и дипломных работ здесь.

tickКак реализовать несколько форм в одном окне
Здравствуйте! Я создаю приложение на C# и в силу того, что новичок не могу реализовать призложение.

Windows forms и service в одном приложении
Есть сервисное приложение, которое мониторит состояние компа, есть форма винды, которая настраивает.

Звук в два горла в одном приложении
Задача такова: Есть два MemoryStream в каждом находится по WAV-файлу (загружены из базы данных).

tickПоочередная реализация нескольких форм в одном окне
Как сделать окно, которое открывает одну форму и после нажатия кнопки появляется другая форма, в.

А у меня не пропадает.
Значит кто-то что-то делает не так.
Я могу угадать, кто.
Но угадать, что не так не могу.
Без кода.

Во блин, прямо хокку или танка написалось

Решение

Просто огромное спасибо)

Добавлено через 3 минуты
Ещё один вопрос будет в эту же тему, код остаётся тот же, только нужно добавить форму которая собиралась в другом проекте и имеет другое пространство имён. Пробовал подключать типа: using но ничего не выходит подсказки нет после точки типа таких методов и не существует. Расскажите как форму добавить из другого проекта.
PS: делаем что то вроди камандного проекта в универе(лаба) я это всё собираю. А в нете инфы толковой почти нет. Заранее спасибо

Сериализация в одном приложении и ошибка десериализации в другом
Доброго времени суток! Помогите пожалуйста решить следующий вопрос: Создал простейшую.

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

Несколько форм
Я знаю, что тема уже мусолилась много раз, но все же. Существует статический класс с помощью.

tickТаймер на несколько форм
Подскажите пожалуйста как реализовать таймер на несколько форм, что бы все формы видели этот таймер.

Источник

Понравилась статья? Поделить с друзьями:
Добавить комментарий
  • Как сделать успешный бизнес на ритуальных услугах
  • Выездной кейтеринг в России
  • Риски бизнеса: без чего не обойтись на пути к успеху
  • c папка запуска приложения
  • c отмена закрытия формы