Передача данных между формами в языке c#

В этой статье хочу показать один из возможных способов передачи данных между формами.

Передача данных между элементами формы

Задача будет следующая: на первой форме у нас будет элемент textbox, а на второй DataGridView и нам нужно будет сделать так, чтобы данные из одного элемента управления передавались в другой.

Создадим новое приложение типа Windows Forms Application. После чего добавим на первую форму два элемента управления: TextBox и Button.

форма

В окне Solution Explorer добавим вторую форму.

Solution Explorer

Шаблоны

вторая форма

Вторая форма

И так, для начала поработаем со второй формой.

Перейдите в окно ToolBox и добавьте на форму элемент управления DataGridView (dgv).

DataGridView

Добавление свойств

Для дальнейшей работы нам понадобиться создать три свойства:

Свойство DgvValue используется для получения и установки значения в ячейке элемента управления DataGridView.

Свойство DgvRowIndex — индекс строки в DataGridView.

Свойство DgvCellName — имя или название ячейки, в которую необходимо вставить значение из элемента textbox.

Добавление строк в DataGridView

Для данного примера мы создадим новый метод AddRowsToDgv, с помощью которого добавим в DataGridView две строки и два столбца (Name и Age).

О том, как добавить новую строку в DataGridView более подробно можно прочитать, перейдя по ссылке.

результат на картинке ниже

таблица

Передача значения в textBox

Из второй формы мы будем передать в элемент textBox выбранное нами значение ячейки в DataGridView. Передача будет происходить в момент закрытия второй формы.

Получить выбранное значение в элементе DataGridView можно разными способами, например с помощью события DataGridView_CellContentClick, которое возникает при клике на значении расположенном в ячейки.


Наш канал в telegram канал codeby

Пишем об информационной безопасности, методах защиты информации, о программировании. Не пропускай новости с кодебай, будь в тренде !  Подробнее ...

событие CellContentClick

Получение значения переданного из textbox

Теперь мы опишем часть, которая отвечает за получение данных из первой формы, то есть из элемента textbox.

Для начала подпишемся на событие Form2_Load.

В данном событии будет выполняться метод AddRowsToDgv, который создаст две строки в элементе DataGridView, а также здесь мы будем получать данные переданных из первой формы.

В качестве индекса строки и названия ячейки мы используем созданные нами свойства, чтобы на первой форме мы могли более точно определить, куда передать значение из элемента textbox.

Исходник

Первая форма

Теперь поработаем с первой формой.

Данные из элемента textBox мы будем передавать во вторую форму, например при нажатии на кнопку, поэтому для начала подписываемся на событие Button_Click.

Установка значений свойств

Перед тем как передать данные во вторую форму установим значения для трёх свойств.

Событие FormClosed

Затем здесь же подписываемся на событие FormClosed. Сделаем мы это для того, чтобы, во-первых, отловить момент закрытия второй формы, а во-вторых, таким образом, мы сможем получить (на первой форме) переданное значение, которое затем установим в textbox.

Открытие второй формы

И последнее что нам осталось сделать, так это отобразить или открыть вторую форму. Сделать это можно с помощью метода Show либо ShowDialog.

Полный исходник

Теперь если запустить наше предложение и нажать на кнопку, расположенную на первой форме, то данные из textbox будут переданы во вторую форму в элемент DataGridView.

формы

Чтобы передать данные из второй формы нам нужно сначала выбрать значение в DataGridView, а затем просто закрыть форму. Либо можно, например, добавить на форму кнопку и передать данные с помощью неё.

Читайте также:


Наш канал в telegram канал codeby

Пишем об информационной безопасности, методах защиты информации, о программировании. Не пропускай новости с кодебай, будь в тренде !  Подробнее ...

Похожие темы

c# DataGridView свойство ColumnCount Свойство ColumnCount элемента управления DataGridView Свойство ColumnCount элемента управления DataGridView обычно используется для решения следующих...
c# Как удалить колонку в DataGridView?... Удаление колонки в DataGridView В этой статье мы рассмотрим, как удалить колонку в элементе DataGridView с помощью языка c# Создадим новый проект ...
c# Как выделить диапазон ячеек в DataGridView?... Выделение диапазона ячеек в DataGridView В этой небольшой статье хочу показать на простом примере, как можно программно выделить диапазон ячеек в эле...
Чтение Xml файла с выводом данных в DataGridView в... Как выполнить чтение xml файла с выводом данных в DataGridView? В этой статье хочу показать на простом примере, как можно выполнить чтение xml файла ...
c# Как изменить цвет строки в DataGridView?... Изменение цвета строки в элементе управления DataGridView В данной статье хочу показать, как можно изменить цвет строки в элементе управления DataGri...