Как передать значение из одной формы в другую c
Перейти к содержимому

Как передать значение из одной формы в другую c

  • автор:

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

На Form1 есть richTextBox1, и на Form2 есть richTextBox1, так вот хотелось бы сделать чтобы при нажатии на кнопку всё что есть в richTextBox1 на Form2 данные передавались в richTextBox1 на Form1. я попробовал изменить поле Modifer на Public, b таким кодом переместить данные

Но он почему-то не работает( Подскажите как передать данные между формами?

Всю необходимую форме (или любому объекту) информацию следует передавать в конструкторе:

UPD Также в классе Form есть свойсвто Owner , которому можно присвоить форму-владельца. В итоге дочерняя форма будет иметь доступ к родительской через это свойство.

Как вариант, можно использовать делегаты, и передавать данные через них.

Nicolas Chabanovsky's user avatar

В Form1 делаем richTextBox1 public. В ней же создаем экземпляр класса Form2

Далее, описываем метод:

Ну и собственно в Form2:

P.S. Этот вариант будет сразу же передавать весь текст в Form1, с кнопкой я думаю вы тоже разберетесь.

Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.3.11.43304

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Как передать значение из одной формы в другую c

Gray Pipe

Спрашивающий

Общие обсуждения

  • Изменен тип I.Vorontsov 22 марта 2010 г. 11:23
  • Перемещено Tagore Bandlamudi 2 октября 2010 г. 21:58 MSDN Forums consolidation (От:Разработка Windows-приложений)

Все ответы

Я обычно делаю свойство или публичный член класса формы. Но тогда надо передавать сам объект формы. Можно сделать сторонний Static Class для обмена данными.

Это корректно или обычно делают как-то иначе?

Один из способов передачи параметров между формами:

— в первой форме ( Form 1) объявить public переменную с модификатором static , например:

static public int i;

— задать значение ей, например при загрузке формы:

— во второй форме можно обратиться к переменной, например вывести значение переменной в заголовок формы:

this .Text = Form1 .i.ToString();

На мой взгляд использовать сторонний Static Class целесообразно для "долгого" хранения переменных.

Если необходимо единовременно передать данные между формами, то делаю следующее:

1.В форму куда необходимо передать данные (ФормаКуда) в коде пишем:

public partial class ФормаКуда: Form
<
ФормаОтКуда mainForm = null;
public Otsrochka(ФормаОтКуда main)

<
InitializeComponent();
mainForm = main;
>

2. Вызываем ФормаКуда из ФормаОтКуда:

ФормаКуда FormNew = new ФормаКуда (this);
FormNew .ShowDialog();
3. Манипулируем данными в ФормаКуда через mainForm. При этом необходимо чтобы переменные в ФормаОтКуда были Public

C#: Обмен данными между формами

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

1) Передача параметров в форму. Любой класс, должен иметь конструктор, и WinForm в этом случае не исключение. А следовательно очевидным является тот факт, что передача данных необходимых для инициализации формы необходимо проводить именно через конструктор формы. Приведем пример.

Создадим WinForm и перейдем к коду. Наблюдаем следующую картину:

Допустим на данной форме размещен элемент textBox в который мы хотим установить значение, при открытии нашей формы. Тогда модифицируем наш код следующим образом:

Важно: Все действия, выполняемые с объектами формы должны быть произведены после функции InitializeComponent()!

2-3) По сути задача получения данных из формы и изменение данных в форме сводистя к одной задаче. Пусть у нас есть две формы Form1 и Form2. В первой форме у нас есть три кнопки: open, read, write . Первая откроет вторую форму, в которой есть элемент textBox, Вторая покажет сообщение с текстом, введенным в textBox формы номер два, третья очистит textBox из Form2. Имеем:

Отправлять значения из одной формы в другую

Я хочу передавать значения между двумя формами (c #). Как я могу это сделать?

У меня две формы: Form1 и Form2.

Form1 содержит одну кнопку. Когда я нажимаю на эту кнопку, должна открыться форма Form2, а форма Form1 должна находиться в неактивном режиме (т. Е. Недоступна для выбора).

Форма 2 содержит одно текстовое поле и одну кнопку отправки. Когда я ввожу какое-либо сообщение в текстовое поле формы 2 и нажимаю кнопку отправки, форма 2 должна закрываться, а форма Form1 должна выделяться переданным значением.

Как я могу это сделать? Может ли кто-нибудь помочь мне сделать это на простом примере.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *