До сих пор мы создавали только консольные приложения.
Но программисты на C# широко используют формы для создания пользовательских интерфейсов.
И в сегодняшней статье мы создадим простое оконное приложение.
В примерах используем русскую версию программы Visual Studio 2012.
Первый шаг — начать новый проект и создать форму. Для чего откройте Visual Studio и выберите Файл-> Создать -> Проект, а в диалоговом окне нового проекта выберите Visual C#- Windows и выберите Приложение Windows Forms. Введите имя проекта в нижней части диалогового окна и нажмите кнопку ОК. На следующем рисунке показано, как создать новую форму в Visual Studio.
В диалоговом окне Новый проект выберите Приложение Windows Forms».
После выбора приложения Windows Forms вы можете увидеть форму по умолчанию (Form1) в своем новом проекте C#. Форма Windows Form, которую вы видите в представлении «Конструктор», представляет собой визуальное представление окна, которое открывается при открытии вашего приложения.
Каждый раз, когда вы создаете приложение Windows, Visual Studio будет отображать пустую форму по умолчанию, на которую вы можете перетащить элементы управления на основную форму приложения и настроить их размер и положение.
Если вы хотите установить какие-либо свойства формы, вы можете использовать окно свойств Visual Studio, чтобы изменить их. Есливы не видите окно Свойств, в меню ВИД щелкните Окно свойств. В этом окне перечислены свойства выбранной в данный момент формы Windows или элемента управления, и здесь вы можете изменить существующие значения.
Далее на вкладке ВИД открываем панель элементов. Находим там виджет Button и перетаскиваем его на форму. Дважды щелкаем по новому элементу и открываем окно с кодом кнопки.
private void button1_Click(object sender, EventArgs e)
{
// вводим следующий код
MessageBox.Show("Привет Мир");
}
Запускаем приложение.
При нажатии на кнопку на экране должно появиться приветствие.
Результат:
Таким образом мы наглядно увидели возвожности создания оконных приложений с C# и Visual Studio, а также привязали к форме кнопку реагирующей на нажатие.
-
Создано 12.10.2021 11:38:18
-
Михаил Русаков
Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!
Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.
Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления
Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.
Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):
-
Кнопка:
Она выглядит вот так:
-
Текстовая ссылка:
Она выглядит вот так: Как создать свой сайт
- BB-код ссылки для форумов (например, можете поставить её в подписи):
Создание консольного приложения Visual Studio
Создание оконного приложения Visual Studio
Введение в создание оконных приложений
Функции API для работы с консолью
Структура оконного приложения
Элементы управления окна
Графика в оконных приложениях
В операционной системе Windows возможны 3 типа структур программ:
- диалоговая (основное окно — диалоговое),
- консольная, или безоконная структура,
- классическая (оконная, каркасная) структура
Диалоговые приложения для Windows имеют минимальный интерфейс связи с пользователем и передают информацию пользователю посредством стандартных диалоговых окон (например, окно сообщения MessageBox()). Работа программы происходит «вслепую».
Неоконные (консольные) приложения представляет собой программу, работающую в текстовом режиме. Работа консольного приложения напоминает работу программы MS-DOS. Но это лишь внешнее впечатление. Консольное приложение обеспечивается специальными функциями Windows. Консольные приложения представляют собой систему средств взаимодействия пользователя с компьютером, основанную на использовании текстового (буквенно-цифрового) режима дисплея или аналогичных (командная строка MS-DOS, Far). Консольные приложения очень компактны не только в откомпилированном виде, но и в текстовом варианте, и имеют такие же возможности обращаться к ресурсам Windows посредством API-функций, как и оконные приложения.
Оконные (каркасные) приложения строятся на базе специального набора функций API, составляющих графический интерфейс пользователя (GUI, Graphic User Interface). Главным элементом такого приложения является окно. Окно может содержать элементы управления: кнопки, списки, окна редактирования и др. Эти элементы, по сути, также являются окнами, но обладающими особыми свойствами. События, происходящие с этими элементами (и самим окном), приводят к приходу сообщений в процедуру окна.
Разница между оконными и консольными приложениями Windows состоит в том, с каким типом информации они работают.
Загрузить PDF
Загрузить PDF
Вы никогда не задумывались, как сделаны такие программы, как Paint или калькулятор? Ну, узнайте тогда, как создать простое приложение, используя это пошаговое руководство.
-
Компилятор преобразует необработанный исходный код (который вы скоро напишете) в исполняемое приложение. Для целей этого урока приобретите DEV-CPP IDE. Вы можете скачать его здесь here.
-
Вам будет представлено окно с текстовой областью, где вы будете писать свой исходный код.
-
Подготовьтесь к написанию программы для отображения текста в текстовом поле. Перед тем как начать писать исходный текст, имейте в виду, что приложения Win32 не ведут себя таким же образом, как другие языки, такие как JAVA.
-
Картинка с сайта: ru.wikihow.com
Вам будет предложено другое окно. Выберите небольшую картинку с названием «Windows Application» и установите язык как «C», а не «C++.» В текстовом поле, где написано «Name», введите «SimpleProgram». Далее DEV-CPP спросит вас, куда вы хотите сохранить его. Сохраните файл в любом каталоге, но только убедитесь, что сохранили его. Как только закончите с этим, вам будет представлен шаблон на экране источника. Нажмите Ctrl + A, а затем Backspace. Причина, почему мы делаем так, это то, что мы можем начинать заново.
Это включает в себя библиотеку windows, так что вы можете создавать приложение. Прямо под этим напишите: #include «resource.h» И затем введите: const char g_szClassName[] = «myWindowClass»;
Напишите один способ для обработки всех сообщений и напишите другой метод, где мы будем обрабатывать сообщения из ресурсов. Не волнуйтесь, если вас это смущает. Все станет ясно в дальнейшем. Теперь сохраните ваш источник как SimpleProg.c. На данный момент мы оставив все как есть.
Resource Script является частью исходного кода, который определяет все элементы управления (например,TextBox, Buttons, и т.д.). Вы включите Resource Script в вашу программу и вуаля! У вас будет программа. Написать Resource Script хоть и просто, но это может занять много времени, если у вас нет Visual Editor. Это потому, что вам нужно будет подсчитать приблизительно точные X и Y координаты элементов управления и т.д. В главном окне DEV-CPP перейдите в меню File -> New -> Resource File. DEV-CPP спросит вас: «Add resource file to current Project?». Нажмите YES. В верхней части вашего скрипта ресурса введите #include «resource.h», and also type #include <afxres.h> Это касается всех элементов управления.
простое меню.
Введите:
IDR_THEMENU MENU BEGIN POPUP "&File" BEGIN MENUITEM "E&xit", ID_FILE_EXIT END END
Часть «IDR_THEMENU» определяет ваше меню как THEMENU. Вы можете назвать его, как хотите. Часть BEGIN говорит сама за себя. POPUP «&File» создает категорию нового меню под названием File. Символ & позволяет пользователю вашего приложения нажимать Ctrl + F на клавиатуре и быстро получить доступ к меню. The MENUITEM «E&xit», ID_FILE_EXIT добавляет пункт меню в категорию File. Вы должны, однако, определить пункт меню с помощью ID_FILE_EXIT.
Ваша кнопка будет внутри диалогового окна, поэтому мы должны создать его в первую очередь. Сделайте это, набрав:
IDD_SIMPLECONTROL DIALOG 50, 50, 150, 142 STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU MENU IDR_THEMENU CAPTION "Simple Prog" FONT 8, "MS Sans Serif" BEGIN DEFPUSHBUTTON "Hello!", ID_HELLO, 10, 10, 40, 15 END
Часть IDD_SIMPLECONTROL определяет ваш диалог. Четыре цифры после слова «DIALOG» определяют х-позицию, у-позицию, ширину и высоту диалогового окна. Не волнуйтесь слишком о части Style на данный момент. Часть MENU IDR_THEMENU помещает наше старое меню в программу. Часть CAPTION говорит сама за себя, как и шрифт. Часть DEFPUSHBUTTON создает нашу кнопку с названием «Hello!» и определим ее, написав ID_HELLO и задав ей координаты х–позиции, у-позиции, ширину и высоту.
Мы закончили с нашим скриптом ресурса. Только еще одно: мы должны присвоить значения всем величинам, которых мы определили в нашем скрипте ресурсов (например, IDR_THEMENU, и т.д.). Сохраните файл ресурса как SimpleProg.rc
Add the source file to the current project? -> Yes. Вам будет предложен пустой экран. Для присвоения значений нашим определенным элементам управления мы даем им числа. Не имеет большого значения, каким числам вы присваиваете элементы управления, но они должны быть организованными. Например, не определяйте элемент управления, присвоив ему случайное число (как 062 491 или пр.). Поэтому введите:
#define IDR_THEMENU 100 #define ID_FILE_EXIT 200 #define IDD_SIMPLECONTROL 300 #define ID_HELLO 400
Помните, как мы писали «#include «resource.h»»? Ну, вот почему мы это сделали. Нам нужно было присвоить значения.
Введите:
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow){return DialogBox(hInstance, MAKEINTRESOURCE(IDD_SIMPLECONTROL), NULL, SimpleProc);}
Просто знайте, что это части возвращают диалоговое окно к нашей процедуре обработки сообщений, называемой SimpleProc.
BOOL CALLBACK SimpleProc(HWND hWndDlg, UINT Message, WPARAM wParam, LPARAM lParam){switch(Message){case WM_INITDIALOG:return TRUE;case WM_COMMAND:switch ( LOWORD (wParam) ) {case ID_HELLO:MessageBox(NULL,»Hey», «Hallo!», MB_OK)break; case ID_FILE_EXIT:EndDialog(hWndDlg, 0);break;}break;case WM_CLOSE:EndDialog(hWndDlg, 0); break; default: return FALSE;}return TRUE;}
Например, в случае ID_HELLO (наша кнопка), мы создаем окно сообщения с содержанием «Hello!». Кроме того, в случае, когда переходим в File и Exit, мы закрываем окно в случае ID_FILE_EXIT.
Это важно, если вы хотите, чтобы ваша программа работала.
Реклама
Советы
- Если вы расстроены (на любом этапе работы) — отдохните и вернитесь обратно.
- Это учебник для начинающих, так много частей не объясняются. Даже если это учебник для начинающих, рекомендуется, чтобы у вас был некоторый опыт в области программирования (например, знание switch statments, if-else, и т.д.)
- Если вы запутались, есть много учебников, доступных в Интернете.
Реклама
Предупреждения
- Изучение Win32 не является легкой задачей. Вам нужно обратить внимание на это. Это, безусловно, не для слабонервных.
- Нумерация строк в этом учебнике несколько искажает исходный код.
Реклама