Инфоурок Информатика Другие методич. материалыИнформатика. Программирование в C#

Информатика. Программирование в C#

Скачать материал

Выберите документ из архива для просмотра:

Выбранный для просмотра документ Практическое задание1.docx

ИНСТРУКЦИОННАЯ КАРТА

Тема: Разработка приложения, использующего кнопочные компоненты

 

Цель: отработать умения по созданию формы, содержащей компоненты и элементы управления, с помощью которых будет создан текстовый файл с данными из формы.

Знать: следующие компоненты WindowsForm: кнопки (Button), метки (Label), специальные контейнеры, которые содержат другие элементы, элементы GroupBox, элементы управления списками: ListBox, ComboBox, текстовые элементы управления: TextBox, элементы для работ с датами: DateTimePicker.

Уметь: создавать форму, содержащую компоненты: Button, Label, GroupBox, ListBox, ComboBox. TextBox, DateTimePicker; создавать программу, которая будет создавать текстовый файл и копировать в него вводимые данные из формы.

Оснащение: ПК, ИК

!Электронный отчет по работе должен содержать:

1.    Проект, созданный в Visual Studio.

2.    Текстовый файл, содержащий ответы на контрольные вопросы

 

Теоретический материал

Окно сообщения MessageBox

Как правило, для вывода сообщений применяется элемент MessageBox. Однако кроме сообственно вывода строки сообщения данный элемент может устанавливать ряд настроек, которые определяют его поведение.

Для вывода сообщения в классе MessageBox предусмотрен метод Show, который имеет различные версии и может принимать ряд параметров. Рассмотрим одну из наиболее используемых версий:

1

2

3

4

5

6

7

8

public static DialogResult Show(

    string text,

    string caption,

    MessageBoxButtons buttons,

    MessageBoxIcon icon,

    MessageBoxDefaultButton defaultButton,

    MessageBoxOptions options

)

Здесь применяются следующие параметры:

text: текст сообщения

caption: текст заголовка окна сообщения

buttons: кнопки, используемые в окне сообщения. Принимает одно из значений перечисления MessageBoxButtons:

·                     AbortRetryIgnore: три кнопки Abort (Отмена), Retry (Повтор), Ignore (Пропустить)

·                     OK: одна кнопка OK

·                     OKCancel: две кнопки OK и Cancel (Отмена)

·                     RetryCancel: две кнопки Retry (Повтор) и Cancel (Отмена)

·                     YesNo: две кнопки Yes и No

·                     YesNoCancel: три кнопки Yes, No и Cancel (Отмена)

Таким образом, в зависимости от выбора окно сообщения может иметь от одной до трех кнопок.

icon: значок окна сообщения. Может принимать одно из следующих значений перечисления MessageBoxIcon:

·                     Asterisk, Information: значок, состоящий из буквы i в нижнем регистре, помещенной в кружок

·                     Error, Hand, Stop: значок, состоящий из белого знака "X" на круге красного цвета.

·                     Exclamation, Warning: значок, состоящий из восклицательного знака в желтом треугольнике

·                     Question: значок, состоящий из вопросительного знака на периметре круга

·                     None: значок у сообщения отсутствует

defaultButton: кнопка, на которую по умолчанию устанавливается фокус. Принимает одно из значений перечисления MessageBoxDefaultButton:

·                     Button1: первая кнопка из тех, которые задаются перечислением MessageBoxButtons

·                     Button2: вторая кнопка

·                     Button3: третья кнопка

options: параметры окна сообщения. Принимает одно из значений перечисления MessageBoxOptions:

·                     DefaultDesktopOnly: окно сообщения отображается на активном рабочем столе.

·                     RightAlign: текст окна сообщения выравнивается по правому краю

·                     RtlReading: все элементы окна располагаются в обратном порядке справа налево

·                     ServiceNotification: окно сообщения отображается на активном рабочем столе, даже если в системе не зарегистрирован ни один пользователь

Нередко используется один параметр - текст сообщения. Но посмотрим, как использовать остальные параметры. Пусть у нас есть кнопка, в обработчике нажатия которой открывается следующее окно сообщения:

1

2

3

4

5

6

7

8

9

10

private void button1_Click(object sender, EventArgs e)

{

    MessageBox.Show(

        "Выберите один из вариантов",

        "Сообщение",

        MessageBoxButtons.YesNo,

        MessageBoxIcon.Information,

        MessageBoxDefaultButton.Button1,

        MessageBoxOptions.DefaultDesktopOnly);

}

ListBox

Элемент ListBox представляет собой простой список. Ключевым свойством этого элемента является свойство Items, которое как раз и хранит набор всех элементов списка.

Элементы в список могут добавляться как во время разработки, так и программным способом. В Visual Studio в окне Properties (Свойства) для элемента ListBox мы можем найти свойство Items. После двойного щелчка на свойство нам отобразится окно для добавления элементов в список:

В пустое поле мы вводим по одному элементу списка - по одному на каждой строке. После этого все добавленные нами элементы окажутся в списке, и мы сможем ими управлять:

Программное управление элементами в ListBox

Добавление элементов

Итак, все элементы списка входят в свойство Items, которое представляет собой коллекцию. Для добавления нового элемента в эту коллекцию, а значит и в список, надо использовать метод Add, например: listBox1.Items.Add("Новый элемент");. При использовании этого метода каждый добавляемый элемент добавляется в конец списка.

Можно добавить сразу несколько элементов, например, массив. Для этого используется метод AddRange:

1

2

string[] countries = { "Бразилия", "Аргентина", "Чили", "Уругвай", "Колумбия" };

listBox1.Items.AddRange(countries);

Вставка элементов

В отличие от простого добавления вставка производится по определенному индексу списка с помощью метода Insert:

1

listBox1.Items.Insert(1, "Парагвай");

В данном случае вставляем элемент на вторую позицию в списке, так как отсчет позиций начинается с нуля.

Удаление элементов

Для удаления элемента по его тексту используется метод Remove:

1

listBox1.Items.Remove("Чили");

Чтобы удалить элемент по его индексу в списке, используется метод RemoveAt:

1

listBox1.Items.RemoveAt(1);

Кроме того, можно очистить сразу весь список, применив метод Clear:

1

listBox1.Items.Clear();

Доступ к элементам списка

Используя индекс элемента, можно сам элемент в списке. Например, получим первый элемент списка:

1

string firstElement = listBox1.Items[0];

Метод Count позволяет определить количество элементов в списке:

1

int number = listBox1.Items.Count();

Выделение элементов списка

При выделении элементов списка мы можем ими управлять как через индекс, так и через сам выделенный элемент. Получить выделенные элементы можно с помощью следующих свойств элемента ListBox:

·                     SelectedIndex: возвращает или устанавливает номер выделенного элемента списка. Если выделенные элементы отсутствуют, тогда свойство имеет значение -1

·                     SelectedIndices: возвращает или устанавливает коллекцию выделенных элементов в виде набора их индексов

·                     SelectedItem: возвращает или устанавливает текст выделенного элемента

·                     SelectedItems: возвращает или устанавливает выделенные элементы в виде коллекции

По умолчанию список поддерживает выделение одного элемента. Чтобы добавить возможность выделения нескольких элементов, надо установить у его свойства SelectionMode значение MultiSimple.

Чтобы выделить элемент програмно, надо применить метод SetSelected(int index, bool value), где index - номер выделенного элемента. Если второй параметр - value имеет значение true, то элемент по указанному индексу выделяется, если false, то выделение наоборот скрывается:

1

listBox1.SetSelected(2, true); // будет выделен третий элемент

Чтобы снять выделение со всех выделенных элементов, используется метод ClearSelected.

Событие SelectedIndexChanged

Из всех событий элемента ListBox надо отметить в первую очередь событие SelectedIndexChanged, которое возникает при изменении выделенного элемента:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

public partial class Form1 : Form

{

    public Form1()

    {

        InitializeComponent();

 

        string[] countries = { "Бразилия", "Аргентина", "Чили",  "Уругвай", "Колумбия" };

        listBox1.Items.AddRange(countries);

         

        listBox1.SelectedIndexChanged += listBox1_SelectedIndexChanged;

    }

 

    void listBox1_SelectedIndexChanged(object sender, EventArgs e)

    {

        string selectedCountry = listBox1.SelectedItem.ToString();

        MessageBox.Show(selectedCountry);

    }

}

В данном случае по выбору элемента списка будет отображаться сообщение с выделенным элементом.

Элемент ComboBox

Элемент ComboBox образует выпадающий список и совмещает функциональность компонентов ListBox и TextBox. Для хранения элементов списка в ComboBox также предназначено свойство Items.

Подобным образом, как и с ListBox, мы можем в окне свойств на свойство Items и нам отобразится окно для добавления элементов ComboBox:

И как и с компонентом ListBox, здесь мы также можем программно управлять элементами.

Добавление элементов:

1

2

3

4

5

6

// добавляем один элемент

comboBox1.Items.Add("Парагвай");

// добавляем набор элементов

comboBox1.Items.AddRange(new string[] { "Уругвай", "Эквадор" });

// добавляем один элемент на определенную позицию

comboBox1.Items.Insert(1, "Боливия");

При добавлении с помощью методов Add / AddRange все новые элементы помещаются в конец списка. Однако если мы зададим у ComboBox свойство Sorted равным true, тогда при добавлении будет автоматически производиться сортировка.

Удаление элементов:

1

2

3

4

5

6

// удаляем один элемент

comboBox1.Items.Remove("Аргентина");

// удаляем элемент по индексу

comboBox1.Items.RemoveAt(1);

// удаляем все элементы

comboBox1.Items.Clear();

Мы можем получить элемент по индексу и производить с ним разные действия. Например, изменить его:

1

comboBox1.Items[0] = "Парагвай";

Настройка оформления ComboBox

С помощью ряда свойств можно настроить стиль оформления компонента. Так, свойство DropDownWidth задает ширину выпадающего списка. С помощью свойства DropDownHeight можно установить высоту выпадающего списка.

Еще одно свойство MaxDropDownItems позволяет задать число видимых элементов списка - от 1 до 100. По умолчанию это число равно 8.

Другое свойство DropDownStyle задает стиль ComboBox. Оно может принимать три возможных значения:

·                     Dropdown: используется по умолчанию. Мы можем открыть выпадающий список вариантов при вводе значения в текстовое поле или нажав на кнопку со стрелкой в правой части элемента, и нам отобразится собственно выпадающий список, в котором можно выбрать возможный вариант

·                     DropdownList: чтобы открыть выпадающий список, надо нажать на кнопку со стрелкой в правой стороне элемента

·                     Simple: ComboBox представляет простое текстовое поле, в котором для перехода между элементами мы можем использовать клавиши клавиатуры вверх/вниз

Событие SelectedIndexChanged

Наиболее важным событием для ComboBox также является событие SelectedIndexChanged, позволяющее отследить выбор элемента в списке:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

public partial class Form1 : Form

{

    public Form1()

    {

        InitializeComponent();

 

        comboBox1.SelectedIndexChanged += comboBox1_SelectedIndexChanged;   

    }

 

    void comboBox1_SelectedIndexChanged(object sender, EventArgs e)

    {

        string selectedState = comboBox1.SelectedItem.ToString();

        MessageBox.Show(selectedState);

    }

}

Здесь также свойство SelectedItem будет ссылаться на выбранный элемент.

Привязка данных в ListBox и ComboBox

Кроме прямого добавления элементов в коллекцию Items компонентов ListBox и ComboBox мы также можем использовать механизм привязки данных.

Привязка данных в ListBox и ComboBox реализуется с помощью следующих свойств:

·                     DataSource: источник данных - какой-нибудь массив или коллекция объектов

·                     DisplayMember: свойство объекта, которое будет использоваться для отображения в ListBox / ComboBox

·                     ValueMember: свойство объекта, которое будет использоваться в качестве его значения

Рассмотрим пример.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

public partial class Form1 : Form

{

    public Form1()

    {

        InitializeComponent();

 

        List<Phone> phones = new List<Phone>

        {

            new Phone { Id=11, Name="Samsung Galaxy Ace 2", Year=2012},

            new Phone { Id=12, Name="Samsung Galaxy S4", Year=2013},

            new Phone { Id=13, Name="iPhone 6", Year=2014},

            new Phone { Id=14, Name="Microsoft Lumia 435", Year=2015},

            new Phone { Id=15, Name="Xiaomi Mi 5", Year=2015}

        };

 

        listBox1.DataSource = phones;

        listBox1.DisplayMember = "Name";

        listBox1.ValueMember = "Id";

 

        listBox1.SelectedIndexChanged += listBox1_SelectedIndexChanged;

    }

 

    void listBox1_SelectedIndexChanged(object sender, EventArgs e)

    {

        // получаем id выделенного объекта

        int id = (int)listBox1.SelectedValue;

 

        // получаем весь выделенный объект

        Phone phone = (Phone)listBox1.SelectedItem;

        MessageBox.Show(id.ToString() + ". " + phone.Name);

    }

}

class Phone

{

    public int Id { get; set; }

    public string Name { get; set; }

    public int Year { get; set; }

}

Запись в файл и StreamWriter

Для записи в текстовый файл используется класс StreamWriter. Свою функциональность он реализует через следующие методы:

· Close: закрывает записываемый файл и освобождает все ресурсы

· Flush: записывает в файл оставшиеся в буфере данные и очищает буфер.

· Write: записывает в файл данные простейших типов, как int, double, char, string и т.д.

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

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

Здесь сначала мы считываем файл в переменную text, а затем записываем эту переменную в файл, а затем через объект StreamWriter записываем в новый файл.

Класс StreamWriter имеет несколько конструкторов. Здесь мы использовали один из них: new StreamWriter(writePath, false, System.Text.Encoding.Default). В качестве первого параметра передается путь к записываемому файлу. Второй параметр представляет булевую переменную, которая определяет, будет файл дозаписываться или перезаписываться. Если этот параметр равен true, то новые данные добавляются в конце к уже имеющимся данным. Если false, то файл перезаписывается. И если в первом случае файл перезаписывается, то во втором делается дозапись в конец файла.

Третий параметр указывает кодировку, в которой записывается файл.

 

Практическая часть

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

·      фамилия и имя страхователя;

·      адрес (город, улица, дом, квартира)

·      пол страхователя;

·      срок страхования;

·      вид страхования.

Разработка формы пользователя. Форма пользователя с элементами управления для создания текстового файла должна иметь такой же вид, как на картинке:

 

Для удобства ввода данных, кроме элементов Поле в форме предусмотрены: элемент Счетчик – для установки строка страхования; элемент Поле со списком – для ввода вида страхования. Предусмотрите элемент Надпись для вывода сообщения об ошибке, при не заполнении какого-либо поля ввода.

Текстовый файл должен создаваться в папке проекта Debug с именем Страхователи.txt. Пример текстового файла:

Выполните следующие действия:

1.    Создайте форму пользователя и разместите в ней элементы управления.

2.    Элементам управления присвойте имена и свойства.

3.    Для процедуры обработки события Click кнопки Ok запишите код, который отвечает за копирование данных из полей в текстовый файл (Файл должен дозаписываться, а не перезаписываться). Если какое-либо поле не заполнено, внизу формы должна появиться надпись «Не все данные введены!». Если данные все введены, должно появиться сообщение MessageBox и все поля очищаются:

                                                                                 

4.    Для процедуры обработки события Click кнопки Отмена запишите код для закрывания формы.

5.    Запустите программу на выполнение. Проверьте работоспособность и, в случае необходимости, устраните ошибки в программе.

6.    Создайте папку Release.

7.    Сохраните проект на Колледжсервере в папке группы под своей фамилией.

 

Вопросы для контроля знаний

1. Какое свойство отвечает за вид и поведение границы и строки заголовка формы?

3. Что такое пользовательская форма?

4. Для чего используются списки?

5. Какие элементы поддерживают редактирование текста в C#?

 

Просмотрено: 0%
Просмотрено: 0%
Скачать материал
Скачать материал "Информатика. Программирование в C#"

Методические разработки к Вашему уроку:

Получите новую специальность за 3 месяца

SMM-менеджер

Получите профессию

Интернет-маркетолог

за 6 месяцев

Пройти курс

Рабочие листы
к вашим урокам

Скачать

Получите профессию

Секретарь-администратор

за 6 месяцев

Пройти курс

Рабочие листы
к вашим урокам

Скачать

Скачать материал

Найдите материал к любому уроку, указав свой предмет (категорию), класс, учебник и тему:

6 663 990 материалов в базе

Скачать материал

Другие материалы

Вам будут интересны эти курсы:

Оставьте свой комментарий

Авторизуйтесь, чтобы задавать вопросы.

  • Скачать материал
    • 11.09.2019 538
    • ZIP 202.9 кбайт
    • Оцените материал:
  • Настоящий материал опубликован пользователем Немцева Ирина Александровна. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт

    Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.

    Удалить материал
  • Автор материала

    Немцева Ирина Александровна
    Немцева Ирина Александровна
    • На сайте: 4 года и 7 месяцев
    • Подписчики: 0
    • Всего просмотров: 2319
    • Всего материалов: 3

Ваша скидка на курсы

40%
Скидка для нового слушателя. Войдите на сайт, чтобы применить скидку к любому курсу
Курсы со скидкой

Курс профессиональной переподготовки

Интернет-маркетолог

Интернет-маркетолог

500/1000 ч.

Подать заявку О курсе

Курс повышения квалификации

Компьютерная грамотность для пенсионеров

36 ч. — 180 ч.

от 1580 руб. от 940 руб.
Подать заявку О курсе
  • Этот курс уже прошли 23 человека

Курс повышения квалификации

Методика преподавания информатики в начальных классах

72 ч. — 180 ч.

от 2200 руб. от 1100 руб.
Подать заявку О курсе
  • Этот курс уже прошли 67 человек

Курс профессиональной переподготовки

Педагогическая деятельность по проектированию и реализации образовательного процесса в общеобразовательных организациях (предмет "Математика и информатика")

Учитель математики и информатики

300 ч. — 1200 ч.

от 7900 руб. от 3650 руб.
Подать заявку О курсе
  • Сейчас обучается 36 человек из 17 регионов
  • Этот курс уже прошли 35 человек

Мини-курс

Психологические особенности педагогического общения

6 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Сейчас обучается 32 человека из 18 регионов
  • Этот курс уже прошли 20 человек

Мини-курс

Воспитание будущего поколения: от педагогики до игровых технологий

3 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Этот курс уже прошли 18 человек

Мини-курс

Современные подходы к преподаванию географии: нормативно-правовые основы, компетенции и педагогические аспекты

8 ч.

1180 руб. 590 руб.
Подать заявку О курсе