Вывод матрицы windows forms

Вывод матрицы на форму

Доброго времени суток!

Есть задача, вывести матрицу на форму(двумерный массив) через C# WinForms. Сейчас думаю каким способом это проще всего сделать. Есть на примете контрол ListBox, но я не знаю будет ли он корректно отображать её.

Имеется ввиду стандартная матрица.

Ответы (4 шт):

В Forms есть готовый компонент DataGridView. Это самый подходящий вариант. Правда, компонент достаточно мощный и его настройка потребует некоторых усилий.

Специально для матричных данных у DevExpress есть компонент PivotGrid. Но он платный.

Если собираетесь ограничиться стандартными компонентами WindowsForms, рекомендую либо использовать DataTable, либо вручную реализовать в своей матрице IList и ITypedList, чтобы представлять строки и колонки как динамические множества. Сразу же вижу потенциальную проблему в том, что DataGridView автоматически не будет добавлять / удалять колонки у матрицы при изменении данных, потребуется реализовывать это вручную.

Самый простой выриант использовать TextBox, выставив свойство MultiLine = True. А потом к свойству Text добавлять строки матрицы.

На мой взгляд, самым простым и в то же время наиболее функциональным будет сочетание DataTable вместе с DataGridView.

Сразу же вижу потенциальную проблему в том, что DataGridView автоматически не будет добавлять / удалять колонки у матрицы при изменении данных, потребуется реализовывать это вручную.

Ничего подобного, при таком коде:

И если на форму добавить, к примеру, TextBox и Button для добавления нового столбца, то реализация нажатия кнопки будет следующая:

И новая колонка будет добавлена в matrix. Более того, в силу своего утверждения о функциональности, можно сохранить эту матрицу в файл одной строчкой:

И также одной строчкой загрузить при необходимости.

Читайте также:  Как посмотреть объем памяти видеокарты windows
Оцените статью