0 / 0 / 0
Регистрация: 17.05.2012
Сообщений: 25

Как передать данные между формами, без Show/ShowDialog

23.05.2012, 22:43. Показов 3958. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть 3 формы:

1. MainForm, которая является меню и родительской формой, на ней имеются кнопки в виде toolstrip, которые, запускают дочерние.

2. Form1, дочерняя форма, представляет собой БД(подкл. к SQL), в которой можно редактировать записи, в ней же есть текстбокс1, в который передается значение выделенной строки.

3. Form2, по смыслу и подобию такая же, в ней также имеется текстбокс2, но он пустой и пока не принимает никаких значений.

Итак, как сделать так, чтобы в Form1, предположим выделив строку и передав значения в текстбокс1, по нажатию на кнопку "Выбрать", без каких-либо Show()/ShowDialog(), значение тб1 передалось в тб2? Т.е. я закрываю Form1, через MainForm открываю Form2 и тб2 имеет значение тб1.

Вот мой вариант с ShowDialog:

Form1:

C#
1
2
3
4
5
6
7
8
private void btSelect_Click(object sender, EventArgs e)
        {
          
            Form2 newForm2 = new Form2(textBox1.Text);
            newForm2.ShowDialog();
            newForm2.Dispose();  
                     
        }
Form2:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
string textFromParent = string.Empty;
        
        public Form2()
        {
           InitializeComponent();
        }
                     
        public Form2(string text)
        {
            InitializeComponent();
            textFromParent = text;
            textBox2.Text = textFromParent;
 
        }
Все хорошо передается, но я не знаю, как обойтись без ShowDialog()...
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.05.2012, 22:43
Ответы с готовыми решениями:

Как передать данные между формами
Еще раз всем привет. У меня на Form1 есть 2 radioButton (radioButton1 и radioButton2), мне нужно передать включенный radioButton на...

передать данные между формами
Задание такое: на основной форме нажимаем кнопку "ввести данные"- открывается диалоговое окно, там вводим три типа данных(высоту, радиус,...

Передача между формами при showdialog
Надо передать данные из главной формы в дочернюю. Делаю так: frm1 public event EventHandler<string> MyEvent; private...

7
171 / 171 / 56
Регистрация: 10.07.2011
Сообщений: 251
23.05.2012, 23:38
Если я правильно понял, то так
Вложения
Тип файла: rar WithoutShow.rar (44.5 Кб, 48 просмотров)
1
101 / 101 / 15
Регистрация: 23.05.2012
Сообщений: 260
24.05.2012, 11:13
в Form2 создать свойство

C#
1
2
3
4
5
public String TextBoxValue
{
get{ return textBox2.Text;}// можно не писать если не нужно забирать значение
set{textBox2.Text=Value;}
}
В обработчике события button'a выбрать
C#
1
form2.TextBoxValue=textBox1.Text;
Только в Form1 надо создать поле
C#
1
Form2 form2 = new Form2();
чтоб эта формочка всегда была жива и могла принимать изменения свойства
1
0 / 0 / 0
Регистрация: 17.05.2012
Сообщений: 25
24.05.2012, 18:51  [ТС]
gevorg89, спасибо работает, а не подскажешь, как сделать так, чтобы кнопка Form2, была не активна до тех пор, пока не будет нажата кнопка "выбрать" в Form1?
0
101 / 101 / 15
Регистрация: 23.05.2012
Сообщений: 260
24.05.2012, 20:19
C#
1
buttonForm2.Enabled=false;
0
0 / 0 / 0
Регистрация: 17.05.2012
Сообщений: 25
24.05.2012, 20:31  [ТС]
Цитата Сообщение от DPW Посмотреть сообщение
C#
1
buttonForm2.Enabled=false;
А как тогда, включить её из другой формы, по нажатию на кнопку, не паблик же её делать?
0
171 / 171 / 56
Регистрация: 10.07.2011
Сообщений: 251
24.05.2012, 20:44
-INFERNO-, могу посоветовать по тому же принципу делать как и передачу данных между формами, т.е. при нажатии на кнопку сохраняем в некоторую переменную, чуть попозже напишу как
0
171 / 171 / 56
Регистрация: 10.07.2011
Сообщений: 251
24.05.2012, 22:17
вот так
Вложения
Тип файла: rar WithoutShow.rar (46.7 Кб, 47 просмотров)
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.05.2012, 22:17
Помогаю со студенческими работами здесь

Как передать данные между формами
Есть код для работы с текстбоксом и листбоксом. В изначальном варианте всё было так: текст бокс, кнопки, листбокс. При нажатии на кнопку...

Как передать данные (матрицы) между формами ?
Здравствуйте ! Помогите, пожалуйста, новичку. Как передавать простые данные - уже прочитал. Создание статического класса - удобная...

Как передать массив между формами
Здравствуйте!!!Помогите, пожалуйста!!!!!Такая проблема..есть Form1..в ней задаются входные данные и производится расчет, а результат...

Как передать значение IP-адрес между формами
Borland C++ 6 Имеется DBGrid с колонкой Айпи-адреса. Когда я ставлю курсор на ячейке с айпи и нажимаю Butoon "HTTPS" в новой...

Как передать значение переменной между формами?
Доброго времени суток! Как передать значение переменной из form1 в form2?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

Новые блоги и статьи
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru