Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
3 / 3 / 1
Регистрация: 02.05.2016
Сообщений: 124

Ошибка при передаче данных

23.11.2016, 17:38. Показов 1606. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть две формы 1 и 2.
В первой формы при нажатии кнопки должны меняться названия лейбелов во 2 форме
вот код для использования данных в второй формы
C#
1
2
 Form2 f3 = Application.OpenForms.OfType<Form2>().Single();
   f3.label1.Text = "sdsd";
выбивает ошибку
Последовательность не содержит элементов
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.11.2016, 17:38
Ответы с готовыми решениями:

Ошибка в передаче данных в MS Word
Не могу понять где моя ошибка. загружаю в datagredwiew данные После чего всё показывается как далее загружаю данные по кнопке ...

Ошибка при передаче параметров
Выбираю путь в переменную path, затем пытаюсь передать эту переменную в качестве параметра в хранимую процедуру на SQL сервере. ...

Ошибка при передаче переменной из метода
Требуется помощь по лабораторной работе по C# Windows Forms Проблема в передаче (выводе) значения одной переменной 'x' из этого метода: ...

20
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18279 / 14202 / 5368
Регистрация: 17.03.2014
Сообщений: 28,882
Записей в блоге: 1
24.11.2016, 13:55
Aidar3007, значит форма Form2 не открыта. Нужно переписать так:
C#
1
2
3
 Form2 f3 = Application.OpenForms.OfType<Form2>().SingleOrDefault();
if (f3 == null) { f3 = new Form2(); f3.Show(); }
f3.label1.Text = "sdsd";
0
3 / 3 / 1
Регистрация: 02.05.2016
Сообщений: 124
24.11.2016, 16:08  [ТС]
OwenGlendower, Работает, но теперь открывает вторую форму
хотя мне это не надо
0
0 / 0 / 0
Регистрация: 15.06.2016
Сообщений: 8
24.11.2016, 16:21
уберите f3.Show();
0
3 / 3 / 1
Регистрация: 02.05.2016
Сообщений: 124
24.11.2016, 16:26  [ТС]
Bromoform, Тогда без f3.Show(); не работает
0
1167 / 885 / 517
Регистрация: 09.04.2014
Сообщений: 2,098
24.11.2016, 17:17
C#
1
2
3
4
5
 Form2 f3 = Application.OpenForms.OfType<Form2>().FirstOrDefault();
if (f3 != null) 
{
    f3.label1.Text = "sdsd";
}
0
3 / 3 / 1
Регистрация: 02.05.2016
Сообщений: 124
24.11.2016, 17:25  [ТС]
nedel, Не работает
0
0 / 0 / 0
Регистрация: 15.06.2016
Сообщений: 8
24.11.2016, 17:31
Что именно не работает? Как вы узнаете, сработали изменения лэйблов во второй форме, если вам не нужен вывод второй формы на экран?
0
 Аватар для ViterAlex
8951 / 4863 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
24.11.2016, 17:32
Aidar3007, хоть одна форма типа Form2 открыта?
0
3 / 3 / 1
Регистрация: 02.05.2016
Сообщений: 124
24.11.2016, 17:36  [ТС]
ViterAlex, Нет, открыта только первая форма. Обязательно чтобы была открыта вторая форма?
0
 Аватар для ViterAlex
8951 / 4863 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
24.11.2016, 17:38
Aidar3007, конечно. А где ты менять надпись собрался?
0
3 / 3 / 1
Регистрация: 02.05.2016
Сообщений: 124
24.11.2016, 17:41  [ТС]
BromoformНет форму должен открыть я сам другой кнопкой

Добавлено через 2 минуты
ViterAlex, Все понял.

Добавлено через 42 секунды
ViterAlex, В любом случае вторая форма должна быть открыта?
0
 Аватар для ViterAlex
8951 / 4863 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
24.11.2016, 17:46
Aidar3007, если ты хочешь что-то в ней изменить, то она должна по крайней мере существовать. Не обязательно быть видимой
0
3 / 3 / 1
Регистрация: 02.05.2016
Сообщений: 124
24.11.2016, 17:54  [ТС]
ViterAlex, А как это сделать?
0
 Аватар для ViterAlex
8951 / 4863 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
24.11.2016, 18:05
Aidar3007, поскольку ты обращаешься к коллекции OpenForms, то форма должна быть открытой. Я был не прав.
C#
1
2
Form2 f3 = new Form2();//Создаёшь новый экземпляр формы. Он пока не виден, но обратиться к его элементам можно.
f3.Show();//показываешь форму. Она появляется в коллекции OpenForms
0
0 / 0 / 0
Регистрация: 15.06.2016
Сообщений: 8
24.11.2016, 18:08
Так убери f3.Show(); эта строчка и отвечает за показ формы.
f3 = new Form2(); отвечает за создание объекта класса Form2
Просто убери f3.Show(); а добавь показ формы на кнопку
0
3 / 3 / 1
Регистрация: 02.05.2016
Сообщений: 124
24.11.2016, 18:12  [ТС]
Bromoform, Я так сделал но во второй форме ни чего не меняется
0
0 / 0 / 0
Регистрация: 15.06.2016
Сообщений: 8
24.11.2016, 18:29
так, т.е. вы хотите сделать следующее, по нажатию кнопки 1 менять названия лейблов во второй форме, но не выводить вторую форму на экран.
А по нажатию кнопки 2 выводить на показ вторую форму с измененными лейблами.
Вопрос, зачем нужна тогда кнопка 1 вообще?
0
3 / 3 / 1
Регистрация: 02.05.2016
Сообщений: 124
25.11.2016, 05:15  [ТС]
Bromoform, по ней меняются лейблы первой формы
0
0 / 0 / 0
Регистрация: 15.06.2016
Сообщений: 8
25.11.2016, 07:08
В общем вы с самого начала неправильно изложили суть задачи.
Сделайте так, кнопка 1 находится на первой же форме. Сразу пишите тогда в этой кнопке label1.Text="fudge"; где label1-имя лейбла на первой форме (пишу с телефона, по этому правильность команд проверяйте сами), т.е. меняем названия лейблов на первой форме.
А на кнопку 2 вставляйте тот код, который вам писали выше.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.11.2016, 07:08
Помогаю со студенческими работами здесь

При передаче DataGridView на другую форму ошибка
private void button2_Click(object sender, EventArgs e) { data dt = new data(); DGVPrinter printer =...

Ошибка в конструкторе при передаче значения переменной из второй формы в первую
Добрый день! Помогите, пожалуйста. Из второй формы в первую передаю переменную string Sav: Form1 FF = new Form1(Sav); В...

Ссылка на объект не указывает на экземпляр объекта при передаче данных в DGV другой формы
Здравствуйте уважаемые знатоки, извиняюсь если не туда пишу, новую тему не хочеться заводить, я недавно стал изучать язык C#, и вопросов...

Проблема при "передаче" данных в гистограму
Проблема: При &quot;передаче&quot; даных в гистограму (this.chart2.Series.Points.AddXY(ch, d);)

Ошибка при передаче данных в GridView
Среда: WPF Ошибка: Произошла ошибка базового поставщика в Open. Код: private void Window_Loaded(object sender,...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru