Петр Валентинович Евдокимов - C# на примерах
4-е издание, переработанное и обновленноеНазвание: | C# на примерах | |
Автор: | Петр Валентинович Евдокимов | |
Жанр: | Современные российские издания, Программирование: прочее, C, C++, C# | |
Изадано в серии: | На примерах | |
Издательство: | Наука и Техника | |
Год издания: | 2019 | |
ISBN: | 978-5-94387-782-7 | |
Отзывы: | Комментировать | |
Рейтинг: | ||
Поделись книгой с друзьями! Помощь сайту: донат на оплату сервера |
Краткое содержание книги "C# на примерах"
Эта книга является превосходным учебным пособием для изучения языка программирования C# на примерах. Изложение ведется последовательно: от развертывания .NET и написания первой программы, до многопоточного программирования, создания клиентсерверных приложений и разработки программ для мобильных устройств. По ходу книги даются все необходимые пояснения и комментарии. В четвертом издании был частично переработан текст по ходу изложения всей книги, а также обновлены некоторые примеры. Книга написана простым и доступным языком. Лучший выбор для результативного изучения С#. Начните сразу писать программы на С#!
Читаем онлайн "C# на примерах". [Страница - 71]
и запустите ее снова. Убедитесь, что данные сохранены (рис. 14.17).
14.3. Изменение заголовков столбцов таблицы
Наша программа запускается, позволяет редактировать и сохранять данные.
Уже неплохо. Особенно, если учесть, что мы написали всего одну строчку
Рис. 14.17. Изменена одна строка, добавлена новая строка
кода. Но по-прежнему режут глаз названия полей таблицы. Для их редак
тирования щелкните по компоненту DataGridView и откройте свойство
Columns (щелкните на кнопку ... напротив названия свойства). Откроется
окно редактирования столбцов таблицы (рис. 14.18).
Рис. 14.18. Редактирование столбцов таблицы
Выделите столбец и установите его свойства. Вот некоторые самые полез
ные из них:
•
HeaderText - задает название столбца.
•
Visible - будет ли заголовок виден или нет.
•
Width - ширина столбца.
•
Resizable - можно ли изменять ширину столбца.
?
•
SortMode - режим сортировки:
о
NotSortable - без сортировки;
о
Automatic - автоматически;
о
Programmatic - программная сортировка (определяется
программистом).
На рис. 14.19 показано, что заголовки столбцов теперь на русском языке, а
столбец img скрыт (Visible = false).
14.4. Защита
от случайного
удаления
Для удаления записи
пользователю нужно вы
делить запись (строку) и
нажать Delete. При этом
произойдет
событие
UserDeletingRow
ком
понента DataGridView,
а после удаления
UserDeletedRow. В об
работчике
события
UserDeletingRow М О Ж Рис. 14.19. Заголовки столбцов на русском
но вызвать диалог под
тверждения
удаления
записи. В этом случае мы защитим данные от случайного удаления поль
зователем.
Перейдите к компоненту DataGridView, откройте список событий и устано
вите обработчик для события UserDeletingRow:
p r i v a t e v o i d d a t a G r i d V ie w l _ U s e r D e l e t in g R o w ( o b je c t s e n d e r ,
DataG ridView Row C ancelEventA rgs e)
{
D i a l o g R e s u l t d r = M e ssa g e B o x .S h o w ("Удалить з а п и с ь ? " ,
"У дал ен ие",
M e s s a g e B o x B u t t o n s . OKCancel,
M essa g eB o x Ic o n .W a rn in g ,
M essageB oxD efau ltB u tton . B u tto n 2 ) ;
i f (dr == D i a l o g R e s u l t . C a n c e l )
{
е.Cancel = true;
}
}
Рис. 14.20. Диалог при попытке удаления строки
14.5. Добавление данных
Теперь напишем код добавления данных в нашу таблицу. Сейчас добав
ление осуществляется средствами самого DataGridView, но это несколько
неправильно, нужно знать, как запрограммировать добавление данных. За
одно рассмотрим взаимодействие между формами в С#.
Добавьте новую форму в проект командой Проект *■ Добавить форму
Windows (рис. 14.21). Выберите Форма Windows Forms и установите имя
AddForm.es.
На новой форме разместите компоненты согласно таблице 14.1.
Таблица 14.1. Свойства компонентов
Описание
Форма
Имя компонента
AddForm
Название свойства
StartPosition
Text
Значение
CenterParent
Форма
добавления
записи
Фаска
Надписи
groupBoxI
label 1 - Iabel4
Text
Text
Добавление записи
Имя, Телефон, E-mail и
(Name)
Фото соответственно
tbName, tbPhone, tbMail,
Text
Text
tbPhoto соответственно
Добавить
Закрыть
Поля ввода
Кнопка добавления
Кнопка закрытия
AddBtn
CloseBtn
В результате у вас должна получиться форма, изображенная на рис. 14.22.
Рис. 14.22. Форма добавления записи
Теперь на главную форму добавьте две кнопки - Найти и Добавить. Пер
вая будет использоваться для поиска записи (см. след, пункт), а вторая для добавления новой записи программным путем, а не через форму.
Обработчик кнопки Добавить будет выглядеть так:
AddForm a f = new A ddForm ( ) ;
a f .O w n e r = t h i s ;
a f . Sh o w () ;
Вызов формы с установкой свойства Owner позволит нам в будущем обра
щаться к компонентам родительской формы - ведь нам нужно обращаться к
набору данных, сетке, адаптеру таблицы и т.д.
Обратите внимание, что используется метод Show(), а не ShowDialog(),
благодаря чему родительская форма не будет заблокирована и можно бу
дет производить в ней какие-то операции. Метод ShowDialog() блокирует
родительскую форму. Используя Show(), мы можем добавлять записи и на
блюдать, как они появляются в сетке данных.
Теперь настало время написать обработчики для кнопок CloseBtn и AddBtn.
Начнем с CloseBtn - ее обработчик предельно прост:
p riv ate
void
C lo seB tn _C lick (o bject
sender,
EventA rgs
e)
{
C lo se ();
}
Обработчик нажатия кнопки AddBtn будет немного сложнее. Чтобы код
работал, как и ожидается, установите модификаторы доступа компонен
тов mycontactsDataSet, contactsBindingSource, contactsTableAdapter --">
Книги схожие с «C# на примерах» по жанру, серии, автору или названию:
Сергей Михайлович Парижский - Delphi. Учимся на примерах Жанр: Современные российские издания Год издания: 2005 |
Арнольд Роббинс - Linux программирование в примерах Жанр: Другие языки и системы программирования Год издания: 2005 |
Алексей Николаевич Васильев - Python на примерах. Практический курс по программированию Жанр: Современные российские издания Год издания: 2016 Серия: Просто о сложном |
Алексей Николаевич Васильев - Python на примерах. Практический курс по программированию Жанр: Программирование: прочее Год издания: 2019 Серия: На примерах |
Другие книги из серии «На примерах»:
Павел Алексеевич Орленко, Петр Валентинович Евдокимов - С++ на примерах Практика, практика и только практика Жанр: Современные российские издания Год издания: 2019 Серия: На примерах |
А. П. Никольский - JavaScript на примерах Практика, практика и только практика Жанр: Современные российские издания Год издания: 2018 Серия: На примерах |
Алексей Николаевич Васильев - Python на примерах. Практический курс по программированию Жанр: Программирование: прочее Год издания: 2019 Серия: На примерах |
Петр Валентинович Евдокимов - C# на примерах Жанр: Современные российские издания Год издания: 2019 Серия: На примерах |