2005 год. Мне 17 лет. Надоело играть в игры на компе. Стало интересно, как они создаются. Как вообще создаются программы.
Самый бум заселения ПК в частные дома. Тогда даже ноутбуков не было. (Может у единиц. где-нибудь в Москве, Питере)
2214 просмотров
В провинции персональный компьютер — это системный блок и монитор. В большинстве случаев монитор — это 15-дюймовый ЭЛТ ящик, с 60 Гц частотой обновления, и разрешением 1024*768. Но у меня даже такого не было. У меня был 14-дюймовый, с разрешением 800*600. Да, я играл на нем в игры. В Doom 🙂
Но статья не об этом. После года пользования ПК, мне стало интересно, как создаются все эти Windows-окошки, windows-приколы (если кто помнит, когда комп сам перезагружается, кнопка Пуск летает по экрану и так далее). Книжечку я себе купил по Basic. Именно купил, а не скачал. Купил в местном книжном магазине, нашел на полках с компьютерной литературой.
Качать книги с интернета я даже не знал где, интернет был 56 кбит/сек через телефонную сеть, и карточку за 150 рублей 3 часа (кто поймет, тот поймет, кто нет, тот еще маленьким был. Или слишком богатым).
Как ускорить старый ноутбук
Так вот. Купил книжку, где-то нашел qBasic для ms-dos, потихоньку стал учиться азам программирования. Через два-три месяца наверное, узнал, что у нашего провайдера есть форум в локальной сети. Там есть подфорум про программирование. Стал его читать. Узнал, что есть такая система, как Visual Basic, и вот тут пошло-поехало. Visual Basic 6.0. «Hello World» — первая программа, которая показывает надпись в Windows-окне.
Не в консоли, а в Windows-окне! Радости не было предела!
Понимаю, кто-то эти окна и в 2000-м писал, и в 95-м, но у меня компьютер появился только в 2004, не ругайте сильно. Иметь компьютер раньше не было возможности.
Так вот, я стал изучать эту среду разработки. Даже книжку по Visual Basic 6.0 нашел в книжном магазине. Но она не очень помогла. Скучные были примеры, типа написать калькулятор или прогу, которая рисует графики по заданным формулам.
Помог мне интернет. Нашел какой-то сайт на народе.ру, состоящий из практических уроков, как написать игру, как написать летающий пуск, как выводить летающую надпись на экран, как сделать так, чтобы компьютер перезагружался через определенное время, и как все это поместить в автозагрузку, работа с реестром, работа с музыкой, и т.д. Вот это было очень интересно.
И самое интересное, что все это можно было делать на бейсике. Тогда я читал много статей о том, кто такой Билл Гейтс, как он стал самым богатым в мире. Что есть такая программа winamp, и что она самая популярная в мире. И я тоже захотел сделать свою программу, свое ПО, которым будут пользоваться миллионы.
Процесс обучения не буду описывать. Статья будет довольно длинной.
В 2007 появилась моя первая полноценная программа, которую не стыдно было выпускать в сеть. xTime. Тогда же я создал сайт, специально для своих программ. Сайт уже давно умер. Но программа жива и работает до сих пор.
Как узнать модель ноутбука #shorts
Я ее даже научил работать через командную строку. Она умеет выключать, выводить в спящий режим, перезагружать комп через определенное время в минутах.
Для пользователей iPhone
Мои программы до сих пор живы, и работают, их можно скачать где-то на просторах сети. Просто сайт уже умер. Сейчас ему было бы 13 лет.
Надеюсь, вам понравились мои воспоминания. У каждого здесь, уверен, есть свои.
Источник: vc.ru
2.2 Создание первого оконного приложения в .NET. «Убегающее окно».
Создавая данную программу, мы рассмотрим основные принципы создания оконных приложений в C#, а также методы реализации с помощью них каких-либо конечных целей: в нашем случае — это забавно убегающее окно.

Создайте новый проект, в качестве типа шаблона установите приложение Windows Forms, как показано на рисунке 1:
Рисунок 1. Создание нового проекта.
Назовите проект RandWindow и нажмите кнопку ОК.

Рабочее окно MS Visual Studio содержит следующие вспомогательные окна (рис. 2).
Рисунок 2. Вспомогательные окна.
На рисунке цифрам отмечены:
- Окно Toolbox (Панель элементов управления) — элементы управления вы можете разместить на создаваемой форме.
- Окно Solution Explorer (Обозреватель решений) — здесь вы сможете увидеть следующие узлы: Properties — настройки проекта, Links (Ссылки) — подключенные к проекту библиотеки, а также созданные и подключенные к проекту файлы исходных кодов (с расширением .cs) и подключенные к проекту формы (например, Form1).
- Окно Class View (Окно классов) — здесь представлены все созданные в программе классы.
- Окно Properties (Свойства) — выбрав любой элемент управления или даже форму, вы сможете увидеть все параметры данного объекта, а также изменить значения, установленные в них по умолчанию.
Создание оконных приложений сводится к созданию всех необходимых диалоговых окон, а также к размещению на них необходимых элементов. В дальнейшем мы настраиваем обработку событий, создаваемых пользователем, и настраиваем технические аспекты работы программы. В нашем случае сначала разместим все необходимые элементы управления на главной форме, после чего добавим обработчик события перемещения мыши и обработку нажатия кнопок.
Добавление новых элементов управления на форму
Итак, после того как вы ввели имя проекта, установили необходимый шаблон и нажали кнопку ОК, MS Visual Studio автоматически создаст каркас оконного приложения, после чего мы сможем добавить на него новые оконные элементы.
Для этого необходимо перетащить необходимый оконный элемент из окна инструментов (ToolBox).
Нашему окну потребуется 2 элемента поля для ввода, в которые мы будем выводить координаты указателя мыши, что облегчит нам понимание работы программы.
В центре окна будет находиться надпись, которую мы создадим с помощью элемента Label.
Снизу будут расположены 2 кнопки.
Немного растяните заготовку окна. Если вы нажмете на него правой кнопкой, то откроется контекстное меню. В нем нажмите на пункте свойства, после чего вы сможете изучить различные параметры окна, которые вы можете изменить. На рисунке 3 изображены самые (как правило) необходимые свойства:
Рисунок 3. Различные свойства окна (формы) в C# .NET.
Немного растяните заготовку окна и добавьте все необходимые элементы. На рисунке 4 вы можете увидеть их в окне ToolBox:
Рисунок 4. Перетаскивайте необходимые элементы из окна Toolbox на создаваемую форму.
Перейдите в свойства строки Label1, где измените текст на «Вы стремитесь сделать мир лучше?». Также измените тип шрифта, для этого найдите свойство Font (рис. 5).

После чего установите тип шрифта Tahoma, ширину шрифта Bold и размер равный 16 (рис. 6).
Рисунок 6. Установки шрифта. Далее измените текст на кнопках, используя свойство Text.

Полученная заготовка окна программы будет выглядеть следующим образом (рис. 7).
Рисунок 7. Форма будет выглядеть следующим образом.
Техническая часть работы программы
- Сначала мы добавим обработчик события перемещения мыши и реализуем вывод ее координат x и y в два созданных поля ввода.
- Далее мы создадим функции обработчики щелчка по каждой из клавиш мыши (особенно усердные пользователи все же смогут попасть по кнопке «Да, конечно!»).
- Далее мы добавим код, реализующий случайное перемещение окна в том случае, если курсор приблизиться к кнопке «Да, конечно!».
Определение перемещения указателя мыши по форме
Щелкните непосредственно на части формы создаваемого приложения (НЕ на одном из элементов).
Теперь перейдите к свойствам формы с помощью щелчка правой кнопки мыши -> контекстное меню свойства.

Теперь необходимо перейти к списку возможных событий, которые может получать данное окно. Для этого щелкните на кнопке «Event» (события), как показано на рисунке 8:
Рисунок 8. Переход к списку возможных событий.
Когда пользователь передвигает указатель мыши по нашему окну, операционная система посылает сообщение программе с текущими координатами указателя. Они-то нам и нужны.

Чтобы назначить обработчик данного события, найдите строку MouseMove (рис. 9), после чего сделайте двойной щелчок в поле справа от нее – автоматически добавится обработчик события движения мыши и добавится функция Form1_MouseMove в коде нашей программы.
Рисунок 9. После двойного щелчка справа от MouseMove появиться данная строка, и автоматически совершится переход к коду функции-обработчика данного события.
Добавьте в эту функцию 2 строки, чтобы ее код стал выглядеть следующим образом.
/*http://esate.ru, Anvi*/ private void Form1_MouseMove(object sender, MouseEventArgs e) < // ппереводим координату X в строку и записывает в поля ввода textBox1.Text = e.X.ToString(); // переводим координату Y в строку и записывает в поля ввода textBox2.Text = e.Y.ToString(); >
Данная функция, обрабатывающая событие перемещения указателя мыши над формой, получает 2 параметра: объект отправитель и экземпляр класса MouseEventsArgs, содержащий информацию о координатах указателя мыши и других текущих свойствах.
textBox1 и textBox2 это экземпляры класса textbox, реализующие управление нашими элементами поля для ввода.
Член данных экземпляров Text позволяет установить текст в данных полях.
Таким образом, если теперь откомпилировать программу (F5), при перемещении указателя мыши по форме окна мы будем видеть координаты указателя (внутри формы), которые будут непрерывно изменяться.

Теперь вернемся к заготовке нашей формы. Для это щелкните на соответствующей закладке (Form1.cs [Конструктор]), как показано на рисунке 10:
Рисунок 10. Переход к конструктору форм C#.
Сделайте двойной щелчок по первой кнопке: Visual Studio автоматически добавит код обработки данной кнопки при нажатии.
Добавьте следующие строки кода:
/*http://esate.ru, Anvi*/ private void button1_Click(object sender, EventArgs e) < // Вывести сообщение с текстом «Вы усердны» MessageBox.Show( «Вы усердны!!»); // Завершить приложение Application.Exit(); >
Теперь снова вернитесь к конструктору и добавьте вторую кнопку, также с помощью двойного щелчка по ней.
Она будет содержать следующий код:
/*http://esate.ru, Anvi*/ private void button2_Click(object sender, EventArgs e) < // Вывести сообщение, с текстом «Мы не сомневались в вешем безразличии» // второй параметр — заголовок окна сообщения «Внимание» // MessageBoxButtons.OK — тип размещаемой кнопки на форме сообщения // MessageBoxIcon.Information — тип сообщения — будет иметь иконку «информация» и соответствующий звуковой сигнал MessageBox.Show(«Мы не сомневались в вешем безразличии»,»Внимание», MessageBoxButtons.OK, MessageBoxIcon.Information); >
Как видите, здесь мы немного усложнили код вызова окна-сообщения, чтобы продемонстрировать то, как оно работает, более подробно. Все параметры передаваемые в функцию Show закомментированны в исходном коде.
Теперь нам осталось только реализовать перемещение окна в тот момент, когда мышь приближается к кнопке «Да, конечно».
Для этого мы добавим код в функцию:
private void Form1_MouseMove(object sender, MouseEventArgs)
Принцип очень прост: получая координаты движения мыши, мы проверяем не входят ли они в квадрат, очерчивающий нашу кнопку с небольшим запасом. Если да, то мы генерируем 2 случайных числа, которые будут использованы для перемещения окна.
Создаем оконное приложение для Windows с C#

До сих пор мы создавали только консольные приложения. Но программисты на 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-код ссылки для форумов (например, можете поставить её в подписи):
Комментарии ( 2 ):
logaut 12.10.2021 15:19:40
Здравствуйте, Михаил! А почему в примере здесь используется 2012 visual studio, а не последняя его версия или 2019? Буду рад, если ответите.
Castels 13.10.2021 16:04:26
Добрый день. В примере используется бесплатная, учебная версия программы. Так как это учебный проект, то не принципиально какая версия программы. Тем более что, в части создания проекта все версии схожи между собой.
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.
Источник: myrusakov.ru