Меню
Разработки
Разработки  /  Информатика  /  Презентации  /  Прочее  /  Обработка табличных данных

Обработка табличных данных

Презентация использовалась на занятиях профессионального модуля в ОПК СТИ НИТУ МИСиС

21.12.2017

Содержимое разработки

Тема 9. Программирование типовых инженерных задач Лекция 9.3. Обработка табличных данных

Тема 9.

Программирование

типовых инженерных задач

Лекция 9.3.

Обработка табличных данных

Литература Основная: Павловская Т.А. C #. Программирование на языке высокого уровня. Учеб. для вузов. – СПб: Питер, 2008 – 432 с. Павловская Т.А., Щупако Ю.А. C / C ++. Структурное программирование, Питер, 2005. – 402 с.  Дополнительная: Гросс К. С# 2008: Пер. с. анг. – СПб. БХВ-Петербург, 2009. – 576 с. Троелсен Э. Язык программирования С# 2005 и платформа /NET 2.0:пер. с анг. – М:. ООО «И.Д. Вильямс, 2007. – 1168 с.

Литература

Основная:

Павловская Т.А. C #. Программирование на языке высокого уровня. Учеб. для вузов. – СПб: Питер, 2008 – 432 с.

Павловская Т.А., Щупако Ю.А. C / C ++. Структурное программирование, Питер, 2005. – 402 с.

Дополнительная:

Гросс К. С# 2008: Пер. с. анг. – СПб. БХВ-Петербург, 2009. – 576 с.

Троелсен Э. Язык программирования С# 2005 и платформа /NET 2.0:пер. с анг. – М:. ООО «И.Д. Вильямс, 2007. – 1168 с.

Вопросы: 1. Табличное представление данных. 2. События, свойства и методы, связанные с таблицами. 3. Программирование обработки табличных данных.

Вопросы:

1. Табличное представление данных.

2. События, свойства и методы, связанные с таблицами.

3. Программирование обработки табличных данных.

1. Табличное представление данных.

1. Табличное представление данных.

Представление в виде таблицы используется для отображения списков файлов в папках, результатов расчетов функций, сведений об успеваемости и т.п. Для представления табличных данных можно использовать визуальные компоненты DataGridView  и ListView . Эти визуальные компоненты являются наиболее сложными из числа рассмотренных ранее по совокупности свойств, событий и методов. Далее будут приведены начальные сведения по работе с этими компонентами. Прямоугольные таблицы DataGridView  появились, начиная с версии .NET Framework 2.0 , с ними связано более 100 собственных событий в дополнение к событиям, унаследованным от класса - предка Control . Для работы со строками, столбцами и ячейками таблицы предусмотрена целая иерархия классов.

Представление в виде таблицы используется для отображения списков файлов в папках, результатов расчетов функций, сведений об успеваемости и т.п. Для представления табличных данных можно использовать визуальные компоненты DataGridView и ListView . Эти визуальные компоненты являются наиболее сложными из числа рассмотренных ранее по совокупности свойств, событий и методов. Далее будут приведены начальные сведения по работе с этими компонентами.

Прямоугольные таблицы DataGridView появились, начиная с версии .NET Framework 2.0 , с ними связано более 100 собственных событий в дополнение к событиям, унаследованным от класса - предка Control . Для работы со строками, столбцами и ячейками таблицы предусмотрена целая иерархия классов.

Таблицы состоят из колонок (столбцов, Column ) и строк (рядов, Row ). Пользователю можно разрешить или запретить изменять порядок расположения колонок и строк. Очевидно, что при изменении порядка необходимо обеспечить программную поддержку обработки с учетом внесенных перестановок. Колонки и строки могут иметь заголовки Headers . В отличие от массивов, размерность которых задается через константы в момент компиляции программы, применительно к таблицам количество строк ( RowCount ) и столбцов ( ColumnCount ) можно менять в ходе выполнения программы (динамическое выделение и освобождение памяти под таблицу). Ячейка (клетка, Cell ) таблицы может содержать текст (числа тоже представлены в виде текста), изображения, раскрывающиеся списки и другие формы данных. По умолчанию все ячейки таблицы содержат текст, т.е. являются объектами класса DataGridViewTextBoxCell .

Таблицы состоят из колонок (столбцов, Column ) и строк (рядов, Row ). Пользователю можно разрешить или запретить изменять порядок расположения колонок и строк. Очевидно, что при изменении порядка необходимо обеспечить программную поддержку обработки с учетом внесенных перестановок. Колонки и строки могут иметь заголовки Headers .

В отличие от массивов, размерность которых задается через константы в момент компиляции программы, применительно к таблицам количество строк ( RowCount ) и столбцов ( ColumnCount ) можно менять в ходе выполнения программы (динамическое выделение и освобождение памяти под таблицу). Ячейка (клетка, Cell ) таблицы может содержать текст (числа тоже представлены в виде текста), изображения, раскрывающиеся списки и другие формы данных. По умолчанию все ячейки таблицы содержат текст, т.е. являются объектами класса DataGridViewTextBoxCell .

Колонки и строки нумеруются начиная с нуля . Для указания ячейки таблицы используется двумерный индексатор вида [col, row] – первым указывается номер колонки, а затем номер ряда. В качестве номера можно использовать выражения целого типа, в том числе целые константы, переменные целого типа.

Колонки и строки нумеруются начиная с нуля . Для указания ячейки таблицы используется двумерный индексатор вида [col, row] первым указывается номер колонки, а затем номер ряда. В качестве номера можно использовать выражения целого типа, в том числе целые константы, переменные целого типа.

Элемент управления ListView также позволяет отображать данные в виде таблицы. Ячейки таблицы могут содержать текст и изображение, а первый столбец кроме текста еще и значки. Элемент управления ListView также сложен, освещение всех его возможностей выходит за рамки настоящего занятия. Будут представлены наиболее важные функциональные возможности элемента управления ListView , что обеспечит основу для его применения в программе. Будет также охарактеризован элемент управления ImageList , который служит для хранения изображений, используемых в элементе ListView .
  • Элемент управления ListView также позволяет отображать данные в виде таблицы.
  • Ячейки таблицы могут содержать текст и изображение, а первый столбец кроме текста еще и значки. Элемент управления ListView также сложен, освещение всех его возможностей выходит за рамки настоящего занятия. Будут представлены наиболее важные функциональные возможности элемента управления ListView , что обеспечит основу для его применения в программе. Будет также охарактеризован элемент управления ImageList , который служит для хранения изображений, используемых в элементе ListView .
2. События, свойства и методы, связанные с таблицами.

2. События, свойства и методы, связанные с таблицами.

Свойства компонента DataGridView . AllowUserToResizeColumns – разрешает ( true ) или запрещает ( false ) пользователю изменять ширину столбцов; AllowUserToResizeRows – разрешает ( true ) или запрещает ( false ) пользователю изменять высоту строк; AutoSizeColumnsMode – определяет режим автоматической установки ширины столбцов (например, выбор значения Fill  определит ширину видимых столбцов так, чтобы они заняли всю область, отведенную под таблицу); ClipboardCopyMode  – указывает возможность и вид копирования содержимого ячейки в буфер обмена; ColumnCount – количество столбцов в таблице. Доступно только во время выполнения программы (установка возможна только программным путем); ColumnHeadersDefaulCellStyle – стиль заголовка по умолчанию (шрифт, цвет, выравнивание, перенос слов и др.);
  • Свойства компонента DataGridView .
  • AllowUserToResizeColumns разрешает ( true ) или запрещает ( false ) пользователю изменять ширину столбцов;

AllowUserToResizeRows разрешает ( true ) или запрещает ( false ) пользователю изменять высоту строк;

AutoSizeColumnsMode определяет режим автоматической установки ширины столбцов (например, выбор значения Fill определит ширину видимых столбцов так, чтобы они заняли всю область, отведенную под таблицу);

ClipboardCopyMode указывает возможность и вид копирования содержимого ячейки в буфер обмена;

ColumnCount количество столбцов в таблице. Доступно только во время выполнения программы (установка возможна только программным путем);

ColumnHeadersDefaulCellStyle стиль заголовка по умолчанию (шрифт, цвет, выравнивание, перенос слов и др.);

ColumnHeadersVisible – разрешает ( true ) или запрещает ( false ) показ заголовков столбцов; Columns – коллекция. Позволяет задать заголовки, имена столбцов, тип содержимого столбца во время проектирования таблицы в специальном окне Правка столбцов ; DefaulCellStyle  – стиль ячейки по умолчанию (шрифт, цвета, выравнивание, разрешение переноса слов и др.); EditMode  – определяет режим начала редактирования, например, по нажатию клавиши Enter  или клавиши F2 ; Enabled  - указывает доступность ( true ) или недоступность ( false ) компонента на форме;

ColumnHeadersVisible разрешает ( true ) или запрещает ( false ) показ заголовков столбцов;

Columns коллекция. Позволяет задать заголовки, имена столбцов, тип содержимого столбца во время проектирования таблицы в специальном окне Правка столбцов ;

DefaulCellStyle стиль ячейки по умолчанию (шрифт, цвета, выравнивание, разрешение переноса слов и др.);

EditMode определяет режим начала редактирования, например, по нажатию клавиши Enter или клавиши F2 ;

Enabled - указывает доступность ( true ) или недоступность ( false ) компонента на форме;

MultiSelect – разрешает ( true ) или запрещает ( false ) выбор нескольких ячеек пользователем; ReadOnly –   разрешает ( false ) или запрещает ( true ) пользователю редактировать ячейки таблицы; RowCount - количество рядов в таблице. Доступно только во время выполнения программы (установка возможна только программным путем); RowHeadersVisible – разрешает ( true ) или запрещает ( false ) показ заголовков рядов.

MultiSelect разрешает ( true ) или запрещает ( false ) выбор нескольких ячеек пользователем;

ReadOnly разрешает ( false ) или запрещает ( true ) пользователю редактировать ячейки таблицы;

RowCount - количество рядов в таблице. Доступно только во время выполнения программы (установка возможна только программным путем);

RowHeadersVisible разрешает ( true ) или запрещает ( false ) показ заголовков рядов.

События компонента DataGridView .  События, связаные с выбором: RowHeaderMouseClick  – строки ; ColumnHeaderMouseClick  – столбца ; CellMouseClick  - ячейки. В этих вариантах соответствующий элемент таблицы становится выбранным.

События компонента DataGridView .

События, связаные с выбором:

RowHeaderMouseClick – строки ;

ColumnHeaderMouseClick – столбца ;

CellMouseClick - ячейки.

В этих вариантах соответствующий элемент таблицы становится выбранным.

Обращения к ячейке возвращает значение типа DataGridViewCell – общего предка всех классов для содержания ячейки. Доступ к значению ячейки обеспечивает свойство Value этого класса. Например, выражение dataGridView 1 [col, row].Value = R.ToString(); обеспечивает занесение в ячейку с координатами [col, row] таблицы dataGridView 1 величины R в виде текста; выражение string s1 =  dataGridView 1 [4, 5].Value.ToString(); обеспечивает занесение в s1 содержимого ячейки таблицы. В частности, операторы dataGridView1[2, 4].Value = 4.4.ToString(); button1.Text = dataGridView1[2, 4].Value.ToString(); обеспечат занесение в третий столбец пятой строки таблицы dataGridView1 величины 4,4 , а затем эта величина будет помещена в виде текста на кнопку button1 .

Обращения к ячейке возвращает значение типа DataGridViewCell общего предка всех классов для содержания ячейки. Доступ к значению ячейки обеспечивает свойство Value этого класса. Например, выражение

dataGridView 1 [col, row].Value = R.ToString();

обеспечивает занесение в ячейку с координатами [col, row] таблицы dataGridView 1 величины R в виде текста;

выражение

string s1 = dataGridView 1 [4, 5].Value.ToString();

обеспечивает занесение в s1 содержимого ячейки таблицы.

В частности, операторы

dataGridView1[2, 4].Value = 4.4.ToString();

button1.Text = dataGridView1[2, 4].Value.ToString();

обеспечат занесение в третий столбец пятой строки таблицы dataGridView1 величины 4,4 , а затем эта величина будет помещена в виде текста на кнопку button1 .

Оператор dataGridView1[2,3].Style.ForeColor = Color.Red; устанавливает цвет для текста ячейки.  Оператор dataGridView1.Columns[2].DefaultCellStyle.BackColor = Color.Azure; устанавливает цвет фона колонки.  Заголовки в счет строк и столбцов не входят.

Оператор

dataGridView1[2,3].Style.ForeColor = Color.Red;

устанавливает цвет для текста ячейки.

Оператор

dataGridView1.Columns[2].DefaultCellStyle.BackColor = Color.Azure;

устанавливает цвет фона колонки.

Заголовки в счет строк и столбцов не входят.

Попытка обратиться к ячейки за пределами области определения количества столбцов или строк вызывает возникновение исключительной ситуации « Индекс за пределами диапазона ».  Примеры занесение информации в заголовки столбцов и строк таблицы dataGridView1.Columns[2].HeaderCell.Value = 'z'.ToString(); dataGridView1.Rows[5].HeaderCell.Value = 16.ToString();

Попытка обратиться к ячейки за пределами области определения количества столбцов или строк вызывает возникновение исключительной ситуации « Индекс за пределами диапазона ».

Примеры занесение информации в заголовки столбцов и строк таблицы

dataGridView1.Columns[2].HeaderCell.Value = 'z'.ToString();

dataGridView1.Rows[5].HeaderCell.Value = 16.ToString();

Свойства элемента управления ListView  Activation Управляет способом активизирования элемента пользователем. Возможные значения: Standard  - эта настройка отражает способ активизирования, установленный в Windows ; OneClick  – активизация элемента одиночным щелчок; TwoClick  — активизация элемента двойным щелчком;

Свойства элемента управления ListView

Activation

Управляет способом активизирования элемента пользователем. Возможные значения:

Standard - эта настройка отражает способ активизирования, установленный в Windows ;

OneClick – активизация элемента одиночным щелчок;

TwoClick — активизация элемента двойным щелчком;

Alignment Управляет способом выравнивания элементов в списке. Возможные значения: Default  - если пользователь перетаскивает элемент, тот остается там, где был оставлен; Left  - элементы выравниваются по левому краю элемента управления; Тор - элементы выравниваются по верхнему краю элемента управления; SnapToGrid  - элемент управления содержит невидимую сетку, к которой будут привязаны элементы.

Alignment

Управляет способом выравнивания элементов в списке. Возможные значения:

Default - если пользователь перетаскивает элемент, тот остается там, где был оставлен;

Left - элементы выравниваются по левому краю элемента управления;

Тор - элементы выравниваются по верхнему краю элемента управления;

SnapToGrid - элемент управления содержит невидимую сетку, к которой будут привязаны элементы.

AllowColumnReorder Если значение свойства равно true , пользователь имеет возможность изменять порядок следования столбцов в таблице. При использовании этой возможности следует обеспечить программную поддержку работы с новым порядком столбцов. AutoArrange Если значение свойства равно true , элементы будут автоматически выстраиваться в соответствии со свойством Alignment . Это свойство имеет смысл только в том случае, если значение свойства View  равно LargeIcon  или SmallIcon

AllowColumnReorder

Если значение свойства равно true ,

пользователь имеет возможность

изменять порядок следования столбцов

в таблице. При использовании этой

возможности следует обеспечить

программную поддержку работы с

новым порядком столбцов.

AutoArrange

Если значение свойства равно true , элементы будут автоматически выстраиваться в соответствии со свойством Alignment . Это свойство имеет смысл только в том случае, если значение свойства View равно LargeIcon или SmallIcon

Checkboxes      Checkedlndices Checkedltems   Columns Если значение свойства равно true , слева от каждого элемента в списочном представлении будет отображаться элемент CheckBox . Это свойство имеет смысл только в случае, если значением свойства View  является Details  или List . Предоставляют соответственно доступ к коллекции индексов и элементов, которая содержит элементы списка, помеченные флажком. Это свойство предоставляет доступ к коллекции столбцов, посредством которой можно добавлять или удалять столбцы.

Checkboxes

Checkedlndices Checkedltems

Columns

Если значение свойства равно true , слева от

каждого элемента в списочном

представлении будет отображаться элемент

CheckBox . Это свойство имеет смысл

только в случае, если значением свойства

View является Details или List .

Предоставляют соответственно доступ к

коллекции индексов и элементов, которая

содержит элементы списка, помеченные

флажком.

Это свойство предоставляет доступ к

коллекции столбцов, посредством которой

можно добавлять или удалять столбцы.

Focusedltem   FullRowSelect     GridLines Содержит элемент, обладающий фокусом в списке. Если ни один элемент не выбран, это значение является нулевым. Когда значение свойства равно true , и на элементе выполнен щелчок, вся строка, содержащая этот элемент, выделяется. Если значение равно false , выделяется только сам элемент. Если значение свойства равно true , в списочном представлении вычерчиваются линии сетки между строками и столбцами. Это свойство имеет смысл, если значением свойства View  является Details (Подробные сведения)

Focusedltem

FullRowSelect

GridLines

Содержит элемент, обладающий фокусом в

списке. Если ни один элемент не выбран,

это значение является нулевым.

Когда значение свойства равно true , и на

элементе выполнен щелчок, вся строка,

содержащая этот элемент, выделяется.

Если значение равно false , выделяется

только сам элемент.

Если значение свойства равно true , в

списочном представлении вычерчиваются

линии сетки между строками и столбцами.

Это свойство имеет смысл, если значением

свойства View является Details (Подробные

сведения)

HeaderStyle       Items  LabelEdit   Управляет способом отображения заголовка столбцов: Clickable  - заголовок столбца работает  подобно кнопке; NonClickable  - заголовки столбцов не реагируют на щелчки кнопкой мыши; None  - заголовки столбцов не отображаются. Коллекция элементов в представлении в виде списка Когда значение свойства  равно true , пользователь может редактировать содержимое первого столбца в представлении Details

HeaderStyle

Items

LabelEdit

Управляет способом отображения

заголовка столбцов:

Clickable - заголовок столбца работает

подобно кнопке;

NonClickable - заголовки столбцов не

реагируют на щелчки кнопкой мыши;

None - заголовки столбцов не отображаются.

Коллекция элементов в представлении в

виде списка

Когда значение свойства равно true ,

пользователь может редактировать

содержимое первого столбца в представлении

Details

LabelWrap   LargeImageList    MultiSelect     Scrollable  SelectedIndices SelectedItems Если значение равно true , надписи будут занимать столько строк, сколько требуется для отображения всего текста. Содержит объект ImageList , хранящий большие изображения. Эти изображения могут использоваться, когда значение свойства View  равно LargeIcon. Установка свойства равным true  позволяет пользователю выбирать несколько элементов . Установка свойства равным true  ведет к отображению линеек прокрутки . Содержит коллекции, которые соответственно содержат выбранные индексы и элементы .

LabelWrap

LargeImageList

MultiSelect

Scrollable

SelectedIndices SelectedItems

Если значение равно true , надписи

будут занимать столько строк, сколько

требуется для отображения всего текста.

Содержит объект ImageList , хранящий

большие изображения. Эти изображения

могут использоваться, когда значение

свойства View равно LargeIcon.

Установка свойства равным true

позволяет пользователю выбирать

несколько элементов .

Установка свойства равным true ведет к

отображению линеек прокрутки .

Содержит коллекции, которые

соответственно содержат выбранные

индексы и элементы .

SmallImageList    Sorting     TopItem Когда значение свойства View  равно SmallIcon , это свойство содержит объект ImageList , хранящий используемые изображения. Позволяет  выполнять упорядочение элементов : Ascending - по возрастанию ; Descending - по убыванию ; None - без сортировки . Возвращает элемент, расположенный в верхней части списка .

SmallImageList

Sorting

TopItem

Когда значение свойства View равно

SmallIcon , это свойство содержит объект

ImageList , хранящий используемые

изображения.

Позволяет выполнять упорядочение

элементов :

Ascending - по возрастанию ;

Descending - по убыванию ;

None - без сортировки .

Возвращает элемент, расположенный в

верхней части списка .

View Задает режим отображения списка: LargeIcon  — все элементы представляются в виде большого значка (32x32) и надписи ; Smallicon  — все элементы представляются в виде маленького значка (16x16) и надписи ; List - отображается только один столбец. Этот столбец может содержать значок и надпись ; Details - возможно отображение любого числа столбцов. Только первый столбец может содержать значок ; Tile - отображает большой значок, а справа от него надпись и информацию о подэлементе.

View

Задает режим отображения списка:

LargeIcon — все элементы представляются в

виде большого значка (32x32) и надписи ;

Smallicon — все элементы представляются в виде

маленького значка (16x16) и надписи ;

List - отображается только один столбец. Этот

столбец может содержать значок и надпись ;

Details - возможно отображение любого числа

столбцов. Только первый столбец может

содержать значок ;

Tile - отображает большой значок, а справа от

него надпись и информацию о подэлементе.

События элемента AfterLabelEdit  BeforeLabelEdit  ColumnClick  ItemActivate  Происходит после редактирования надписи. Происходит до того, как пользователь начинает редактировать надпись. Происходит при щелчке на столбце.  Происходит при активизации элемента.

События элемента

AfterLabelEdit

BeforeLabelEdit

ColumnClick

ItemActivate

Происходит после редактирования

надписи.

Происходит до того, как пользователь

начинает редактировать надпись.

Происходит при щелчке на столбце.

Происходит при активизации элемента.

Методы элемента BeginUpdate ()      Clear ()  Указывает на необходимость прекращения перерисовки обновлений таблицы до момента вызова метода EndUpdate . Метод полезен при одновременной вставке множества элементов, поскольку он предотвращает мерцание таблицы и увеличивает быстродействие. Полностью очищает таблицу. Все элементы и столбцы удаляются.

Методы элемента

BeginUpdate ()

Clear ()

Указывает на необходимость прекращения перерисовки обновлений таблицы до момента вызова метода EndUpdate . Метод полезен при одновременной вставке множества элементов, поскольку он предотвращает мерцание таблицы и увеличивает быстродействие.

Полностью очищает таблицу. Все элементы и столбцы удаляются.

EndUpdate ()   Ensure Visible ()   GetItemAt ()  Метод вызывают после вызова метода BeginUpdate . При его вызове таблица прорисовывает все свои элементы. Указывает на необходимость прокрутки изображения таблицы для отображения элемента с указанным номером. Возвращает объект ListViewItem  в позиции x , y  таблицы.

EndUpdate ()

Ensure Visible ()

GetItemAt ()

Метод вызывают после вызова метода

BeginUpdate . При его вызове таблица

прорисовывает все свои элементы.

Указывает на необходимость прокрутки

изображения таблицы для отображения

элемента с указанным номером.

Возвращает объект ListViewItem в позиции x , y таблицы.

3. Программирование обработки табличных данных.

3. Программирование обработки табличных данных.

Составим программу, которая отображает: - список шрифтов, установленных в системе; - символы этих шрифтов в виде таблицы; - десятичные и шестнадцатеричные коды выбранного в таблице символа.

Составим программу, которая отображает:

  • - список шрифтов, установленных в системе;
  • - символы этих шрифтов в виде таблицы;
  • - десятичные и шестнадцатеричные коды выбранного в таблице символа.
Начальные установки: - название формы Просмотр шрифтов ; - listBox1 :  Dock = None;  IntegralHeight = False; - dataGridView1:  Dock = None;  AllowUserToResizeColumns = False;  AllowUserToResizeRows = False;  AutoSizeColumnsMode = Fill;  ColumnHeadersVisible = False;  MultiSelect = False;  ReaderOnly = True;  RowHeadersVisible = False; - label1.UseMnemonic = False;

Начальные установки:

- название формы Просмотр шрифтов ;

  • - listBox1 :
  • Dock = None;
  • IntegralHeight = False;

- dataGridView1:

Dock = None;

AllowUserToResizeColumns = False;

AllowUserToResizeRows = False;

AutoSizeColumnsMode = Fill;

ColumnHeadersVisible = False;

MultiSelect = False;

ReaderOnly = True;

RowHeadersVisible = False;

- label1.UseMnemonic = False;

public Form1() {  InitializeComponent();  dataGridView1.ColumnCount = 32;  dataGridView1.RowCount=40;   for (int row=0; row  for (int col=0; col  dataGridView1[col, row].Value  =  ((Char)      (32+col+row*32)).ToString();  foreach (FontFamily ff in FontFamily.Families)  listBox1.Items.Add(ff.Name);  listBox1.SelectedIndex = listBox1.Items.IndexOf(Font.Name); }

public Form1()

{

InitializeComponent();

dataGridView1.ColumnCount = 32;

dataGridView1.RowCount=40;

for (int row=0; row

for (int col=0; col

dataGridView1[col, row].Value = ((Char) (32+col+row*32)).ToString();

foreach (FontFamily ff in FontFamily.Families)

listBox1.Items.Add(ff.Name);

listBox1.SelectedIndex = listBox1.Items.IndexOf(Font.Name);

}

В результате после запуска программы 1. В списке listBox1 отображаются названия всех шрифтов, которыми можно пользоваться в графическом режиме работы Windows . Выделенным является шрифт, установленный в свойстве Font формы. Список шрифтов получен с помощью статического свойства Families класса FontFamily .  В результате выполнения цикла объект ff получает значение объекта класса FontFamily . Получение названий шрифтов в виде строковых величин производится с помощью свойства Name .  Установка свойства IntegralHeight = False для listBox1 обеспечивает вывод элемента в нижней части списка, даже если элемент нельзя отобразить целиком.

В результате после запуска программы

1. В списке listBox1 отображаются названия всех шрифтов, которыми можно пользоваться в графическом режиме работы Windows . Выделенным является шрифт, установленный в свойстве Font формы.

Список шрифтов получен с помощью статического свойства Families класса FontFamily . В результате выполнения цикла объект ff получает значение объекта класса FontFamily . Получение названий шрифтов в виде строковых величин производится с помощью свойства Name . Установка свойства IntegralHeight = False для listBox1 обеспечивает вывод элемента в нижней части списка, даже если элемент нельзя отобразить целиком.

2. В таблице отображаются символы текущего шрифта, начиная с символа пробела (код 32). Символы с меньшими значениями кода (управляющие символы) графически не отображаются. Каждая строка таблицы содержит 32 символа. Число строк выбрано так, чтобы в таблицу попали все русские символы (коды символов от 1040 до 1103, а также коды 1025 и 1105 для букв Ё и  ё). Символы с кодами от 1 до 127 совпадают с ANSCII кодировкой, символы с кодами от 128 до 2047 используются для представления европейских и среднеазиатских языков. Многие шрифты используют только часть кодового пространства. Добавим обработчики событий: для выбора шрифта из списка listBox1_SelectedIndexChanged для отображения кода символа в виде метки dataGridView1_CurrentCellChanged .

2. В таблице отображаются символы текущего шрифта, начиная с символа пробела (код 32). Символы с меньшими значениями кода (управляющие символы) графически не отображаются.

Каждая строка таблицы содержит 32 символа. Число строк выбрано так, чтобы в таблицу попали все русские символы (коды символов от 1040 до 1103, а также коды 1025 и 1105 для букв Ё и ё). Символы с кодами от 1 до 127 совпадают с ANSCII кодировкой, символы с кодами от 128 до 2047 используются для представления европейских и среднеазиатских языков. Многие шрифты используют только часть кодового пространства.

Добавим обработчики событий:

для выбора шрифта из списка

listBox1_SelectedIndexChanged

для отображения кода символа в виде метки

dataGridView1_CurrentCellChanged .

 private void listBox1_SelectedIndexChanged(object sender,    EventArgs e)  {  Font ff = dataGridView1.Font;  dataGridView1.Font = new Font(listBox1.Text, ff.Size);  ff.Dispose();  }  private void dataGridView1_CurrentCellChanged(object    sender, EventArgs e)  {  string s = dataGridView1.CurrentCell.Value.ToString();  label1.Text = string.Format(

private void listBox1_SelectedIndexChanged(object sender, EventArgs e)

{

Font ff = dataGridView1.Font;

dataGridView1.Font = new Font(listBox1.Text, ff.Size);

ff.Dispose();

}

private void dataGridView1_CurrentCellChanged(object sender, EventArgs e)

{

string s = dataGridView1.CurrentCell.Value.ToString();

label1.Text = string.Format("Код символа {0}-десят. {0:X}-шестнад.",(int)s[0]);

}

При выделении некоторых шрифтов (например, Monotype Corsiva) в программе возникает ошибка времени выполнения из-за того, что эти шрифты не поддерживают регулярный стиль ( Regular ) отображения символов, который установлен по умолчанию.

При выделении некоторых шрифтов (например, Monotype Corsiva) в программе возникает ошибка времени выполнения из-за того, что эти шрифты не поддерживают регулярный стиль ( Regular ) отображения символов, который установлен по умолчанию.

Вопросы для самоподготовки 1. Назначение и свойства таблицы dataGridView . 2. Программирование занесения данных в ячейки таблицы. 3. Программирование извлечения данных из ячеек таблицы. 4. Программирование занесения данных в заголовки столбцов таблицы. 5. Программирование занесения данных в заголовки строк таблицы. 6. Типовые события, связанные с таблицей dataGridView . 7. Методы обработки событий таблицы dataGridView .

Вопросы для самоподготовки

1. Назначение и свойства таблицы dataGridView .

2. Программирование занесения данных в ячейки таблицы.

3. Программирование извлечения данных из ячеек таблицы.

4. Программирование занесения данных в заголовки столбцов таблицы.

5. Программирование занесения данных в заголовки строк таблицы.

6. Типовые события, связанные с таблицей dataGridView .

7. Методы обработки событий таблицы dataGridView .

Разработать программу, обеспечивающую - расчет значений функции f ( x )= 1- exp(- a*x )*Cos( b*x )  для аргумента х , изменяющегося от х н до х к с шагом  х . Значения параметров a  и b , пределы и шаг изменения аргумента задаются вводом. Все величины неотрицательные; - оформление результатов расчета функции виде таблицы dataGridView из трех колонок (первая соответствует порядковому номеру, вторая – «Аргумент», третья – «Функция»). Количество строк определяется исходными данными; - сохранение исходных данных и результатов расчета в файле на магнитном диске с расширением имени файла пз94 ; - чтение данных из файла и их отображение; - очистку элементов для ввода исходных данных и таблицы (в таблице оставить названия столбцов и одну пустую строку); - очистку таблицы при изменении исходных данных.

Разработать программу, обеспечивающую

- расчет значений функции f ( x )= 1- exp(- a*x )*Cos( b*x ) для аргумента х , изменяющегося от х н до х к с шагом х . Значения параметров a и b , пределы и шаг изменения аргумента задаются вводом. Все величины неотрицательные;

  • - оформление результатов расчета функции виде таблицы dataGridView из трех колонок (первая соответствует порядковому номеру, вторая – «Аргумент», третья – «Функция»). Количество строк определяется исходными данными;
  • - сохранение исходных данных и результатов расчета в файле на магнитном диске с расширением имени файла пз94 ;
  • - чтение данных из файла и их отображение;
  • - очистку элементов для ввода исходных данных и таблицы (в таблице оставить названия столбцов и одну пустую строку);
  • - очистку таблицы при изменении исходных данных.
-80%
Курсы дополнительного образования

Основы HTML

Продолжительность 72 часа
Документ: Cвидетельство о прохождении курса
4000 руб.
800 руб.
Подробнее
Скачать разработку
Сохранить у себя:
Обработка табличных данных (830.5 KB)

Комментарии 0

Чтобы добавить комментарий зарегистрируйтесь или на сайт

Пользовательское соглашение Политика обработки персональных данных Политика использования файлов cookie
Учителю!
Огромная база учебных материалов на каждый урок с возможностью удаленного управления
Тесты, видеоуроки, электронные тетради