Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
 Аватар для ut7du
0 / 0 / 0
Регистрация: 24.06.2016
Сообщений: 161
Записей в блоге: 1

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

04.06.2018, 09:30. Показов 2002. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем !
Есть 2 формы.
Передаю данные следующим образом:
Форма 1:
C#
1
2
3
4
5
6
public class MyClass
        {
            public string callsign { get; set; }
            public string freq { get; set; }
        }
        MyClass SendClass = new MyClass();
там дальше присваиваю значения:
C#
1
2
3
 
SendClass.freq = data_new;
SendClass.callsign = Callsign.Text;
данные в классе

Далее вызывается 2 форма и пробую вытащить из объявленного класса данные:
C#
1
2
3
mainform.MyClass myclass = new mainform.MyClass(); // главная форма называется mainform
SpotDXCall.Text = myclass.callsign; // TextBox присваиваю значение поля
SpotFreq.Text = myclass.freq; // TextBox присваиваю значение поля
Подскажите что я делаю не правильно потому что данные не отображаются
Спасибо
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.06.2018, 09:30
Ответы с готовыми решениями:

Передача данных между формами
На форуме есть такой метод передачи данных из формы2 в форму1 Создаем в основном namespace делегат public delegate void...

Передача данных между формами
Здравствуйте! Имеется две формы. На первой находится textbox, на второй label. Как сделать так, чтобы при изменении значения в textbox оно...

Передача данных между формами
В общем у меня такая проблема: у меня есть две формы. На второй форме стоит компонент RadioButton, при его нажатии нужно, чтобы значения...

12
Эксперт .NET
 Аватар для Rius
13121 / 7681 / 1675
Регистрация: 25.05.2015
Сообщений: 23,437
Записей в блоге: 14
04.06.2018, 09:37
Надо передать объект с данными туда, где он используется. Вы же вместо этого создаёте новый объект, и почему-то(!) не обнаруживаете в нём тех данных.
На форуме это вопрос сотни раз поднимался новичками.
0
12 / 11 / 6
Регистрация: 02.04.2018
Сообщений: 30
04.06.2018, 09:39
Вы слишком все усложнили.
Новый класс вообще не нужен.
Просто в нужной форме объявляете переменную static.
А потом из другой формы просто берете данные.Пример:
C#
1
2
3
//Форма номер 1. Тут объявляем переменные.
public static string freq = "";
public static string callsign = "";
Затем просто в другой форме делаем ссылку на первую форму:
C#
1
2
string test1 = Form1.freq;
string test2 = Form1.callsign
Как-то так.
1
911 / 796 / 329
Регистрация: 08.02.2014
Сообщений: 2,391
04.06.2018, 09:39
Лучший ответ Сообщение было отмечено Rius как решение

Решение

Цитата Сообщение от ut7du Посмотреть сообщение
Подскажите что я делаю не правильно потому что данные не отображаются
new mainform.MyClass();


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


тебе сюда: Ответы на 7 самых частых вопросов по WinForms пункт 2
0
Эксперт .NET
 Аватар для Rius
13121 / 7681 / 1675
Регистрация: 25.05.2015
Сообщений: 23,437
Записей в блоге: 14
04.06.2018, 09:42
Цитата Сообщение от NeonyFenyx Посмотреть сообщение
Вы слишком все усложнили.
Новый класс вообще не нужен.
Просто в нужной форме объявляете переменную static.
Вы слишком всё уговнокодили. Глобальные переменные - зло. Так в приличном мире не делают.
0
12 / 11 / 6
Регистрация: 02.04.2018
Сообщений: 30
04.06.2018, 09:46
Возможно. Я сам еще новичок. То есть лучше создать отдельный класс для данных?
0
Эксперт .NET
 Аватар для Rius
13121 / 7681 / 1675
Регистрация: 25.05.2015
Сообщений: 23,437
Записей в блоге: 14
04.06.2018, 09:51
Это один из способов, лучше, чем статические поля.
Пункт 2.6 по указанной выше ссылке.
0
12 / 11 / 6
Регистрация: 02.04.2018
Сообщений: 30
04.06.2018, 09:54
Спасибо, приму к сведению.
0
 Аватар для ut7du
0 / 0 / 0
Регистрация: 24.06.2016
Сообщений: 161
Записей в блоге: 1
04.06.2018, 09:56  [ТС]
NeonyFenyx,
Спасибо огромное ! Просто до безобразия !
0
Эксперт .NET
 Аватар для Rius
13121 / 7681 / 1675
Регистрация: 25.05.2015
Сообщений: 23,437
Записей в блоге: 14
04.06.2018, 10:00
Цитата Сообщение от ut7du Посмотреть сообщение
Просто до безобразия !
Криво до безобразия.

Добавлено через 4 минуты
Цитата Сообщение от NeonyFenyx Посмотреть сообщение
Спасибо, приму к сведению.
Примите к сведению также и то, что дав ответ с решением тяп-ляп, вы можете привнести в мир новых говнокодеров. И однажды с их продуктами жизнедеятельности может быть придётся разбираться вам. Как программисту, как пользователю, или может быть клиенту (гос)организации, использующей его поделие.
0
12 / 11 / 6
Регистрация: 02.04.2018
Сообщений: 30
04.06.2018, 10:02
ut7du, Все же лучше используйте методы представленные выше по ссылке, сам только что прочитал статью на эту тему и понял, почему лучше не использовать глобальные переменные.

Добавлено через 54 секунды
Rius, Хорошо
0
549 / 480 / 315
Регистрация: 24.09.2013
Сообщений: 3,345
Записей в блоге: 1
04.06.2018, 17:31
Код весьма запутан и,конечно, работать не будет
Задача, как я понял, весьма простая; Напишите, что нужно передать: строку, число и пр.
Куда в форме 1 эти данные будут записаны и последнее, куда в форме 2 их записать, и конечно,
кликнуть по кнопке - откроется форма2 с переданными данными.
0
 Аватар для ut7du
0 / 0 / 0
Регистрация: 24.06.2016
Сообщений: 161
Записей в блоге: 1
04.06.2018, 18:01  [ТС]
zna926, Так уже все решено. Смотрите выше посты уважаемых.

Добавлено через 1 минуту
Цитата Сообщение от NeonyFenyx Посмотреть сообщение
ut7du, Все же лучше используйте методы представленные выше по ссылке,
так я и поступил послушав уважаемых людей
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.06.2018, 18:01
Помогаю со студенческими работами здесь

Передача данных между формами
Добрый день! Я скорее всего туплю, но решение пока не нашёл. Ситуация такая: у меня есть 3 формы, которые появляются последовательно. Т.е....

Передача данных между формами
C# Windows Forms. Передача данных между формами, как? Есть две формы, первая форма это текстовый редактор, а вторая это ее дочерняя форма...

Передача данных между формами
Простите меня за мою тупость, но в "7 советов" я мало что понял, а как следствие у меня ничего не получается. Вкратце: мне нужно...

Передача данных между формами
Народ добрый, вот у меня такой вопрос: у меня есть три формы: Form1, Form2 и Form3. В первой форме находятся 2 кнопки: одна из них вызывает...

Передача данных между формами
Есть две формы. На первой форме выбираешь студента и тебе показывают в какой он группе. Не получается сделать что б при этом на второй...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru