Form1 load в c что это

от admin

C#. Windows Forms. Практика. Пример, который демонстрирует создание пятиугольной формы

По данному примеру можно научиться разрабатывать Windows Forms приложения, основная форма которых имеет произвольный вид.

Содержание

  • Условие задачи
  • Инструкция
    • 1. Создать новый проект по шаблону Windows Forms
    • 2. Настройка формы Form1
    • 3. Размещение и настройка кнопки Close на форме
    • 4. Программирование обработчика события клика на кнопке button1
    • 5. Программирование обработчика события Form_Load()
    • 6. Запуск программы. Результаты

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

    Условие задачи

    Разработать приложение Windows Forms, в котором форма есть пятиугольной. На форме разместить кнопку закрытия формы. Рекомендованные координаты в пикселах (x; y) пятиугольника формы: (0; 150), (50; 300), (420; 300), (650; 150), (400; 0).

    Инструкция

    1. Создать новый проект по шаблону Windows Forms

    Более подробно процесс создания новой формы описывается здесь . После создания форма имеет имя Form1 по умолчанию.

    2. Настройка формы Form1

    В окне Properties нужно настроить следующие свойства формы Form1 :

    • свойство FormBorderStyle = None ;
    • свойство BackColor = Blue (рисунок 1). Чтобы найти цвет Blue нужно перейти на вкладку Web .

    C#. Шаблон Windows Forms. Установка свойства BackColor в окне Properties

    Рисунок 1. Установка свойства BackColor

    3. Размещение и настройка кнопки Close на форме

    С помощью панели инструментов Toolbox разместить на форме кнопку. В результате система создаст компонент кнопки с именем button1 .

    Для кнопки button1 нужно установить следующие свойства:

    • Text = «Close» ;
    • Location = (150, 200).

    4. Программирование обработчика события клика на кнопке button1

    Для программирования события нужно выполнить следующие действия (рисунок 2):

    • выделить кнопку button1 ( Close )
    • в окне Properties перейти на вкладку Events ;
    • в перечне обработчиков событий сделать двойной клик в области события Click . В результате откроется код обработчика этого события. Другой способ вызова кода обработчика события Click – двойной клик мышкой на кнопке, которая размещена на форме.

    C#. Windows Forms приложение. Событие Click компонента button1 в окне Properties

    Рисунок 2. Событие Click компонента button1 в окне Properties

    В текст обработчика события нужно добавить следующий код

    Вышеприведенная строка с помощью this обращается к экземпляру формы Form1 . Метод Close() формы закрывает форму, таким образом что происходит выход из программы.

    5. Программирование обработчика события Form_Load()

    В соответствии с условием задачи, нужно чтобы после запуска форма отображалась в виде пятиугольника. Для этого нужно запрограммировать обработчик события Load формы Form1 . Событие Load вызывается в начале выполнения программы, когда форма появляется на экране (загружается).

    Для вызова обработчика события Load нужно выполнить следующие действия (рисунок 3):

    How is Form1_Load() invoked by the Load event in Windows Forms?

    I have found that Load is an event and the Form1 class has Form1_Load() function with arguments. But I couldn’t find how that function is invoked by the Load event. How does this call occur?

    Grant Winney's user avatar

    babybob's user avatar

    2 Answers 2

    An event has a certain signature, and the event handler must match this signature.

    The default EventHandler delegate has a signature of object sender, EventArgs e , so the event handler method must have this exact same signature:

    If it wouldn’t, but for example simply be a parameterless method:

    Then this code wouldn’t compile:

    No overload for ‘Form1_Load’ matches delegate ‘System.EventHandler’

    As for who is raising this event and how the arguments are assigned, that’s the WinForms engine doing that for you.

    Form1 load в c что это

    Для взаимодействия с пользователем в Windows Forms используется механизм событий. События в Windows Forms представляют стандартные события на C#, только применяемые к визуальным компонентам и подчиняются тем же правилам, что события в C#. Но создание обработчиков событий в Windows Forms все же имеет некоторые особенности.

    Прежде всего в WinForms есть некоторый стандартный набор событий, который по большей части имеется у всех визуальных компонентов. Отдельные элементы добавляют свои события, но принципы работы с ними будут похожие. Чтобы посмотреть все события элемента, нам надо выбрать этот элемент в поле графического дизайнера и перейти к вкладке событий на панели форм. Например, события формы:

    События в Windows Forms

    Чтобы добавить обработчик, можно просто два раза нажать по пустому полю рядом с названием события, и после этого Visual Studio автоматически сгенерирует обработчик события. Например, нажмем для создания обработчика для события Load :

    И в этом поле отобразится название метода обработчика события Load. По умолчанию он называется Form1_Load .

    Если мы перейдем в файл кода формы Form1.cs, то увидим автосгенерированный метод Form1_Load:

    И при каждой загрузке формы будет срабатывать код в обработчике Form1_Load.

    Как правило, большинство обработчиков различных визуальных компонентов имеют два параметра: sender — объект, инициировавший событие, и аргумент, хранящий информацию о событии (в данном случае EventArgs e ).

    Но это только обработчик. Добавление же обработчика, созданного таким образом, производится в файле Form1.Designer.cs:

    Для добавления обработчика используется стандартный синтаксис C#: this.Load += new System.EventHandler(this.Form1_Load)

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

    Однако мы можем добавлять обработчики событий и програмно, например, в конструкторе формы:

    Простое Windows-приложение — текстовый редактор

    Рассмотрим пример проектирования стандартного оконного приложения. Простейшая последовательность действий:
    1) визуальное проектирование интерфейса (перенос на форму с Панели элементов необходимых визуальных и не визуальных элементов);
    2) генерация заготовок методов обработки событий, связанных с элементами управления;
    3) программирование методов обработки событий.

    Постановка задачи

    Создать текстовый редактор с обязательными функциями работы с файлами «Открыть» и «Сохранить как», а также функциями редактирования текста. Выбор действий с файлами осуществлять через главное меню.

    Реализация

    Разместим на форме визуальный элемент textBox1 класса TextBox. Размер элемента сделайте чуть меньше размера формы, сместив его вниз от заголовка на 30-40 пикселей. Задайте свойство textBox1.MultiLine = true (для редактирования текста в несколько строк).

    Перетащите с Панели элементов компонент menuStrip1 класса MenuStrip для создания меню.В левом верхнем углу рабочей области формы появится кнопка «Введите здесь» , а на панели невизульных компонентов отобразится элемент menuStrip1.

    Для выбора имен файлов для их чтения и записи перетащим на эту же панель элементы openFileDialog1 (класс OpenFileDialog) и saveFileDialog1 (класс SaveFileDialog).

    Кликнув по кнопке «Введите здесь», введите имя раздела меню «Файл» и добавьте ниже следующие пункты меню работы с файлами «Открыть», «Сохранить как» и «Выход». Ваша форма (вместе с панелью невизуальных элементов) будет выглядеть примерно так:
    Примечание: для наглядности изменено свойство формы BackColor = Color.Peru. Первая группа действий закончена.

    Вторая группа действий обеспечивает генерацию заголовков методов обработки событий, связанных к кнопками меню. Для этого дважды нажмите каждую из трех позиций меню, а также событию Load формы Form1 на закладке «События» панели «Свойства» поставьте в соответствие метод Form1_Load (двойной клик справа от в строке Load).

    Откроем форму в режиме Кода (файл Form1.cs):

    Перейдем к третьей группе действий — написанию кода для этих четырех методов.

    Метод Form1_Load( ) используем для очистки поля компонента textBox1, для задания форматов файловых диалогов и имени файла — контрольного примера при его открытии:

    Комментарий. При загрузке формы мы задаем свойство FileName объекта openFileDialog1 указанием имени файла для открытия, а также задаем фильтры для диалогов открытия и сохранения файлов. Сравните работу программы без использования этого метода.

    В методе открытьToolStripMenuItem_Click( ) используется компонент openFileDialog1 для выбора имени файла для чтения. Если имя не выбрано (FileName = String.Empty), то работа метода завершается. Иначе создается новый экземпляр класса System.IO.StreamReader (var Читатель) с указанием имени файла и кодировки, данные из текстового файла переносятся в textBox1, объект Читатель закрывается. Добавлена обработка исключений, которые могут возникнуть при открытии файла:

    Аналогично выполняется запись (сохранение) текстового файла:

    Последний метод — закрытие формы — реализуется одним оператором:

    Подготовим в блокноте текстовый файл Text2.txt и разместим его в подкаталоге data папки, где будет размещено ваше приложение. Запустим программу на выполнение. Добавьте в окне редактора несколько строк, сохраните файл с другим именем. Откройте новый файл и удалите часть текста в окне редактора.

    Заметим, что работают стандартные операции выделения текста, копирования, вставки и удаления части текста с использованием мыши и комбинаций управляющих клавиш, используемых в известных текстовых редакторах.

    ВЫВОД: В первом приближении поставленная задача решена. Данный пример приведен всего лишь для понимания:
    во-первых, алгоритма действий разработчика визуального приложения «интерфейс, события-методы, реализация»;
    во-вторых, удобства использования готовых компонентов (нам не пришлось программировать операции редактирования текста — стандартные события уже привязаны к компоненту textBox1);
    в-третьих, целесообразности использования готовых компонентов (файловых диалогов) с точки зрения стандартизации интерфейса пользователя и программы.

    Напомним, что в статье про классы мы отмечали, что в языке C# предусмотрено несколько разновидностей данных-членов и функций-членов. Пока мы подробно рассмотрели только поля и константы — как данные-члены, а также методы — как функции-члены класса. В следующих статьях мы рассмотрим события, как данные-члены класса и трехзвенную цепочку события-делегаты-методы. После чего вернемся к член-функциям класса: свойствам, конструкторам, финализаторам, операциям и индексаторам.

    NEW: Наш Чат, в котором вы можете обсудить любые вопросы, идеи, поделиться опытом или связаться с администраторами.

    Читать:
    Bss окружение keenetic что это

Related Posts