как создать таблицу в windows forms
Создание собственного элемента на примере таблицы на C# для Windows Form
Доброго времени суток!
В данной статье я опишу создания своих элементов для C# Windows Form.
Для примера буду создавать таблицу со всем функционалом DataGridView. Позже перейдем на свои элементы. Создание первого элемента разобьем на несколько уроков. В данном уроке произведем от рисовку таблицы, а также: создание столбцов, строк, ячеек.
В первую очередь создадим обычный проект Windows Form. Думаю не нужно это показывать. А уже потом создаем проект «Библиотека элементов управления Windows Form»(Назовем его CustomControl).
Далее у нас будет создан файл UserControl.cs. Удаляем его и создаем обычный класс TableCustoms.cs.Наш класс будет наследоваться от класса Control.
Далее в этом же файле создадим еще несколько классов, а именно:Column,Row,Cell. Рассмотрим каждый по отдельности. Начнем с Column:
Класс Cell(Для поддержки копирования добавляем интерфейс ICloneable):
Теперь настроим наш основной класс TableCustoms:
Для того, чтобы у нас были полосы прокрутки нужно использовать ScrollableControl, поэтому создадим класс PanelTable наследуем ScrollableControl и помещаем его на Control(в следующем уроке объясню почему создаем два разных контрола, а не используем сразу ScrollableControl):
После этого «Пересобираем проект» элемента и добавляем элемент на форму(в основном проекте):
Теперь проверим некоторые методы нашего элемента:
Создание таблиц подстановки в приложениях Windows Forms
Таблица Уточняющий запрос термина описывает элементы управления, привязанные к двум связанным таблицам данных. Эти элементы управления «Уточняющий запрос» отображают данные из первой таблицы на основе значения, выбранного во второй таблице.
Таблицы подстановки можно создать, перетащив главный узел родительской таблицы (из окна Источники данных) на элемент управления в форме, который уже привязан к столбцу в связанной дочерней таблице.
Привязка элемента управления «Уточняющий запрос»
Для таблиц подстановки необходимо, чтобы в окне Источники данных были доступны две связанные таблицы или объекты. Дополнительные сведения см. в разделе связи в наборах данных.
Узел дочерней таблицы — это узел, который отображается как развертываемый дочерний узел в родительской таблице.
Нахождение узла, связывающего две таблицы ( CustomerID узел из предыдущего примера). Измените тип перетаскивания на, ComboBox выбрав поле со списком в списке элементов управления.
Перетащите главный узел дочерней таблицы из окна Источники данных на форму.
Элементы управления с привязкой к данным (с описательными метками) и панель инструментов ( BindingNavigator ) отображаются в форме. Набор данных, TableAdapter, BindingSource и BindingNavigator отображается в области компонентов.
Теперь перетащите главный узел родительской таблицы из окна Источники данных непосредственно в элемент управления Уточняющий запрос ( ComboBox ).
Привязки подстановки теперь установлены. Конкретные свойства, заданные для элемента управления, см. в следующей таблице.
Пошаговое руководство. Создание таблицы данных в конструктор наборов данных
В этом пошаговом руководстве объясняется, как создать DataTable (без адаптера таблицы) с помощью Конструктор наборов данных. Сведения о создании таблиц данных, которые включают TableAdapter, см. в разделе Создание и настройка адаптеров таблиц.
Создание приложения Windows Forms
В Visual Studio в меню Файл выберите пункты Создать > Проект.
Назовите проект дататаблевалксраугх и нажмите кнопку ОК.
Проект дататаблевалксраугх создается и добавляется в Обозреватель решений.
Добавление нового набора данных в приложение
В меню Проект выберите команду Добавить новый элемент.
Откроется диалоговое окно Добавление нового элемента.
На панели слева выберите данные, а затем выберите набор данных в средней области.
Нажмите кнопку Добавить.
Visual Studio добавляет файл с именем DataSet1. xsd в проект и открывает его в конструктор наборов данных.
Добавить новый объект DataTable в набор данных
Перетащите объект DataTable с вкладки набор данных на панели элементов на Конструктор наборов данных.
Добавить столбцы в таблицу данных
В окне Свойства присвойте свойству DataType значение System.Int16.
Повторите эту процедуру и добавьте следующие столбцы:
Задание первичного ключа для таблицы
Все таблицы данных должны иметь первичный ключ. Первичный ключ однозначно определяет определенную запись в таблице данных.
Чтобы задать первичный ключ, щелкните правой кнопкой мыши столбец сонгид и выберите пункт Задать первичный ключ. Рядом со столбцом сонгид появится значок ключа.
Сохранение проекта
Windows Forms Как лучше представить таблицу?
Мне нужно в приложении Windows Forms представить результат работы программы в виде небольшой табличке, содержащей 2 столбца целых цифр. (строк порядка 10-20).
Это табличка должна располагаться прямо на форме.
Подскажите, как это лучше сделать?
Я думаю что можно сделать многострочный элемент TextBox. Или есть более эффективные способы?
Как лучше разрабатывать приложения по модели MVC в Windows Forms?
Т.е я обязан отделить логику,данные и форму. Но мне нужна совместимость формы и логики. Т.е логика.
Как лучше представить таблицу в виде двумерного списка
Доброго времени суток. Смоделировать таблицу с помощью двумерного списка можно двумя способами.
Почему Windows Forms лучше чем WPF?
Windows Forms полагается на чистом Windows API. С помощью Windows Forms можно написать любую.
Что лучше Windows Forms или WPF?
Доброго времени суток! подскажите те кто имеет опыт чем отличается приложение WPF от Windows Forms.
я вот думаю лучше через компонент DataGridView.
Добавлено через 57 секунд
Он как раз служить для представления данных в табличном виде.
Шаг 1. Создание проекта и добавление таблицы в форму
Первым шагом создания игры «Подбери пару!» является создание проекта и добавление таблицы в форму. Таблица помогает равномерно распределить значки по сетке 4×4. Можно также задать несколько свойств, чтобы улучшить внешний вид игрового поля.
Создание проекта и добавление таблицы в форму
В строке меню щелкните Файл > Создать > Проект.
Выберите Visual C# или Visual Basic в левой области диалогового окна Новый проект, а затем — Классическое приложение Windows.
В списке шаблонов выберите шаблон Приложение Windows Forms (.NET Framework), назовите его MatchingGame, а затем нажмите кнопку ОК.
Появится форма с именем Form1.cs или Form1.vb, в зависимости от выбранного языка программирования.
Дополнительные сведения см. в разделе Установка Visual Studio.
На начальном экране выберите Создать проект.
В поле поиска окна Создание проекта введите Windows Forms. Затем в списке Тип проекта выберите Рабочий стол.
Применив фильтр Тип проекта, выберите шаблон Приложение Windows Forms (.NET Framework) для C# или Visual Basic и нажмите кнопку Далее.
Если шаблон Приложение Windows Forms (.NET Framework) отсутствует, его можно установить из окна Создание проекта. В сообщении Не нашли то, что искали? выберите ссылку Установка других средств и компонентов.
Затем нажмите кнопку Изменить в Visual Studio Installer. Вам может быть предложено сохранить результаты работы; в таком случае сделайте это. Выберите Продолжить, чтобы установить рабочую нагрузку.
В окне Настроить новый проект введите MatchingGame в поле Имя проекта. Затем нажмите Создать.
Задание свойств формы
В окне Свойства задайте следующие значения свойств формы.
Измените свойство формы Text с Form1 на Matching Game. Этот текст отображается в верхней части окна игры.
Установите размер формы на 550 пикселей в ширину и 550 пикселей в высоту. Для этого установите для свойства Size значение 550, 550 или перетащите угол формы, чтобы требуемый размер отобразился в правом нижнем углу интегрированной среды разработки (IDE).
Откройте панель элементов, выбрав вкладку Панель элементов в левой части интегрированной среды разработки.
Перетащите элемент управления TableLayoutPanel из категории Контейнеры панели элементов, а затем установите для него следующие свойства.
Задайте для свойства BackColor значение CornflowerBlue. Для этого откройте диалоговое окно BackColor, щелкнув стрелку раскрывающегося списка рядом со свойством BackColor в окне Свойства. Затем перейдите на вкладку Веб в диалоговом окне BackColor, чтобы просмотреть список доступных имен цветов.
Цвета упорядочены не по алфавиту, и цвет CornflowerBlue находится в нижней части списка.
Задайте для свойства Dock значение Fill, нажав кнопку раскрывающегося списка рядом со свойством и щелкнув большую среднюю кнопку. Таблица будет растянута по всей форме.
Для свойства CellBorderStyle установите значение Inset. Между ячейками поля появятся видимые границы.
Нажмите треугольную кнопку в правом верхнем углу элемента управления TableLayoutPanel для отображения меню задач этой панели.
В меню задач дважды щелкните Добавить строку для добавления двух дополнительных строк, а затем дважды щелкните Добавить столбец для добавления двух дополнительных столбцов.
В меню задач выберите команду Изменить строки и столбцы, чтобы открыть окно Стили столбцов и строк. Выберите каждый из столбцов, нажмите кнопку Процент и установите ширину каждого столбца равной 25 процентам от общей ширины. Затем в раскрывающемся списке в верхней части окна выберите Строки и задайте высоту каждой строки равной 25 процентам. По завершении нажмите кнопку ОК.
Теперь на панели макета таблицы должна быть видна сетка размером 4х4, состоящая из шестнадцати одинаковых по размеру квадратных ячеек. Эти строки и столбцы задают места, в которых позже появятся изображения значков.
Убедитесь, что TableLayoutPanel выбран в редакторе формы. На это будет указывать надпись tableLayoutPanel1 в верхней части окна Свойства. Если этот элемент управления не выбран, выберите элемент управления TableLayoutPanel в форме или в раскрывающемся списке в верхней части окна Свойства.
При выбранном элементе управления TableLayoutPanel откройте панель элементов и добавьте элемент управления Label (находится в категории Стандартные элементы управления) в левую верхнюю ячейку TableLayoutPanel. Теперь элемент управления Label должен быть выбран в интегрированной среде разработки. Задайте для него следующие свойства.
Убедитесь, что свойство BackColor имеет значение CornflowerBlue.
Задайте свойству AutoSize значение False.
Задайте для свойства Dock значение Fill.
Задайте для свойства TextAlign значение MiddleCenter, нажав кнопку раскрывающегося списка рядом со свойством, а затем щелкнув среднюю кнопку. Это необходимо, чтобы значок отображался в середине ячейки.
Выберите свойство Font. Должна появиться кнопка с многоточием (…).
Нажмите кнопку с многоточием и установите для параметра Font значение Webdings, для параметра Font Style — значение Bold, а для параметра Size — значение 48.
Установите свойство Text равным букве с.
Теперь в левой верхней ячейке TableLayoutPanel должен располагаться черный квадрат на синем фоне, который выравнивается по центру.
Шрифт Webdings является шрифтом значков, который поставляется с операционной системой Windows. В вашей игре «Подбери пару!» игроку необходимо найти пары одинаковых значков, поэтому используйте этот шрифт для отображения значков. Вместо ввода буквы с в свойство Text попробуйте вводить разные буквы, чтобы увидеть, какие значки отображаются. Восклицательный знак соответствует пауку, прописная буква N — глазу, а запятая — перцу чили.
Выберите элемент управления Label и скопируйте его в следующую ячейку TableLayoutPanel. (Нажмите сочетание клавиш CTRL+C или в строке меню выберите Правка > Копировать.) Затем вставьте его. (Нажмите сочетание клавиш CTRL+V или в строке меню выберите Правка > Вставить.) Во второй ячейке элемента управления TableLayoutPanel появится копия первого элемента управления Label. Вставьте его снова, и в третьей ячейке появится еще один элемент управления Label. Продолжайте вставлять элементы управления Label, пока все ячейки не будут заполнены.
Если выполнить команду вставки слишком много раз, интегрированная среда разработки добавит новую строку в TableLayoutPanel, чтобы появилось место для добавления нового элемента управления Label. Можно выполнить откат. Чтобы удалить новую ячейку, нажмите сочетание клавиш CTRL+Z или в меню выберите Правка > Отменить.
Теперь ваша форма готова. Она будет выглядеть примерно так, как показано на рисунке ниже.
Исходная форма игры «Подбери пару!»