Библиотека knigago >> Литература по изданиям >> Современные российские издания >> C# на примерах


СЛУЧАЙНЫЙ КОММЕНТАРИЙ

# 977, книга: Обретенное счастье
автор: Кристин Морган

"Обретенное счастье" Кристин Морган - это трогательный и волнующий короткий любовный роман, оставляющий неизгладимое впечатление. История повествует о двух одиноких душах, которые находят любовь и исцеление в объятиях друг друга. Главная героиня, Эмма, недавно потеряла мужа и изо всех сил пытается справиться с горем. Она замкнулась в себе и дистанцировалась от всех, включая свою дочь-подростка. В это темное время своей жизни Эмма встречает Джейка, привлекательного и сострадательного...

Петр Валентинович Евдокимов - C# на примерах

4-е издание, переработанное и обновленное C# на примерах
Книга - C# на примерах.  Петр Валентинович Евдокимов  - прочитать полностью в библиотеке КнигаГо
Название:
C# на примерах
Петр Валентинович Евдокимов

Жанр:

Современные российские издания, Программирование: прочее, C, C++, C#

Изадано в серии:

На примерах

Издательство:

Наука и Техника

Год издания:

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 --">

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


Ваш e-mail является приватным и не будет опубликован в комментарии.