Предисловие.
Эта статья рассчитана на новичков, которые уже умеют писать приложения на C# , но пока не пробовали использовать GUI. И так Windows Forms. Удобная и простая платформа для создания приложений. Многие программисты считают ее устаревшей, потому что есть WPF с XAML которые позволяют делать более красивые графические интерфейсы. Однако, Windows Forms куда проще в освоении и ее приложения работают с большей производительностью, чем WPF.
Рекомендую новичкам, изучающим C# начать изучение разработки GUI приложений с Windows Forms. Вы быстро научитесь писать оконные приложения и в будущем будет проще изучать другие платформы C# .
Чтобы не писать очередную статью с мнениями и водой лучше покажу, как создать простое приложение на Windows Forms - Hello World блокнот для работы с текстовыми файлами.
Установка Visual Studio.
Для начала, скачайте Visual Studio, бесплатную версии Community. Оставлю ссылку с инструкцией, по установке Windows Forms. Если кратко, то на скриншоте выше выделено, что отметить при установке Visual Studio.
Создание проекта.
После установки и запуска Visual Studio (далее VS), появится загрузочный экран. Дождитесь пока VS запустится.
В следующем окне, нажмите на кнопку Создание проекта.
В списке типов проектов найдите Приложение Windows Forms (.NET Framework) и нажмите кнопку Далее.
Введите Имя проекта и нажмите кнопку Создать.
После чего, откроется основное окно с рабочей средой VS.
Стоит рассказать о особенностях работы с VS и окна, с которыми вам предстоит работать.
Окна VS расположите, как вам удобно. Чтобы, перетащить окно, наведите на него и зажмите ЛКМ, после чего переместите в нужное для вас место.
После, ознакомления с интерфейсом и настройки VS, можно приступать к работе. Для начала, перетащите два элемента, RichTextBox и MenuStrip. Для того, чтобы быстро найти нужный элемент, используйте поиск в панели элементов.
После добавления StripMenu, он поместиться, кроме формы еще в специальную область располагающуюся немного ниже. В эту область обычно помещаются компоненты, у которых нет графического отображения. Если у вас маленький экран (например экран ноутбука), можете закрыть окно списка ошибок. Оно будет открываться каждый раз при возникновении ошибок, поэтому держать его вечно открытым нет смысла.
Теперь необходимо настроить форму и элементы.
Вначале настройте саму форму. Щелкните в пустое место на форме и в окне свойств измените следующее поле:
- Text -> TxtEditor - изменяем название формы.
Измените элемент RichTextBox. Нажмите ЛКМ и в окне свойств измените следующие поля:
- Name -> AllText - изменяем имя элемента RichTextBox, чтобы при написании кода было удобней к нему обращаться.
- Dock -> Fill - это свойство задает привязку к контейнеру. Грубо говоря, делает элемента размеры резиновыми. Чтобы изменить поле, нажмите рядом на стрелочку вниз и выберите нужный прямоугольник, в нашем случае тот, что по центру.
Далее настройте пункты меню в StripMenu.
Нажмите на меню, после чего появятся текстовые поля, которые являются именами пунктов меню. Думаю, для первой программы хватит двух кнопок: Открыть и Сохранить.
Добавьте элемент OpenFileDialog. Он добавляется, как и другие элементы, через перетаскивание мышкой из панели элементов на форму. Элемент позволяет вызывать стандартное окно выбора файла Windows и получить полный путь к выбранному файлу.
Чтобы OpenFileDialog работал правильно, измените пару свойств:
- FileName - очистите поле.
- Filter -> Txt files|*.txt - задайте фильтр, по которому будут отображаться файлы с указанными разрешением файлов.
На этом этапе все необходимые элементы настроены и находятся на форме, поэтому можно приступать к программированию.
Программирование.
В программе не будет много кода, на то она и - Hello World. В проекте всего два пункта меню с небольшим функционалом. Запрограммировать их не сложно. Чтобы создать функцию, которая будет выполняться при нажатии на пункт меню, кликните в него ЛКМ два раза.
Кликнув двойным щелчком мыши по пунктам меню у вас должен сформироваться такой код.
Как это работает. В Windows Forms реализована система event'ов. У каждого элемента свои эвенты, которые срабатывают при определенных обстоятельствах, например при наведении мыши, нажатии, смене фокуса, изменении размера и т.д. Чтобы написать код, который будет выполняться при срабатывании эвента, привяжите к нему функцию в коде. Для этого в окне свойств, нажмите на значок молнии. В окне будет отображаться список эвентов и привязанные к ним функции.
Чтобы создать функцию эвента, кликните по нему в списке два раза. Если функции эвентов уже есть в коде, выберите одну из них, нажав на стрелочку вниз.
Понимая принцип работы эвентов, давайте напишем код.
Для реализации функций используйте элемент OpenFileDialog и класс File, для работы с файлами.
Небольшое пояснение касаемо класса File. Если ввести слово самостоятельно, то VS будет подчеркивать ошибку. Для исправления, наведите курсор на слово и нажмите на появившуюся рядом иконку лампочки, далее выберите первый пункт, который подключит к проекту необходимую библиотеку. В данном случае System.IO, которая позволяет приложению работать с файлами.
С созданием приложения закончено, теперь можно протестировать.
Послесловие
Надеюсь статья была полезна. Если вам понравится формат создания приложений на Windows Forms, то я напишу много интересных гайдов по этой теме.