Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/42: Рейтинг темы: голосов - 42, средняя оценка - 4.86
-2 / 0 / 0
Регистрация: 28.10.2009
Сообщений: 150

Как обратиться к компоненту на другой форме

28.08.2012, 13:35. Показов 9164. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как сделать чтобы формы "видели" друг друга? То есть есть комбобокс на одной форме, а код пишу к другой(нужно именно к ней). Но получается ошибка, что на второй форме нет комбобокса(что так и есть).
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.08.2012, 13:35
Ответы с готовыми решениями:

Как из одной формы обратиться к компоненту из другой?
У меня есть несколько форм, мне необходимо, чтобы при нажатии на кнопку из первой формы выполнялся запрос в datagrid, который находится на...

Обратиться к компоненту из другой формы
Есть две формы frm_Main и frm_MarkEditPoint которые находятся в разных директориях. Нужно из frm_MarkEditPoint вытащить значение Edit1.Text...

Как обратиться к другой форме?
У меня есть формы, одна из них главная, когда к главной подключаю вторую(#include "UNIT2.cpp"), все компилируется, но как только...

16
 Аватар для Kazbek17
1484 / 939 / 454
Регистрация: 06.02.2012
Сообщений: 2,869
28.08.2012, 13:37
А что именно вы хотите сделать конкретнее можно!!!
0
-2 / 0 / 0
Регистрация: 28.10.2009
Сообщений: 150
28.08.2012, 13:53  [ТС]
У меня на Form1 есть комбобокс. Принимающий значения м и ж. На Form2 есть кнопка. Мне нужно сделать так, чтобы при выборе на первой форме "м" в комбобоксе и нажатии на второй форме кнопки появлялась третья форма с гридом, в котором список мальчиков. Так вот когда я пишу код к кнопке на второй форме использая названия комбоьокса с первой формы, то он ругается. В дельфи вопрос решается через USES, а тут как?
0
 Аватар для Kazbek17
1484 / 939 / 454
Регистрация: 06.02.2012
Сообщений: 2,869
28.08.2012, 14:03
Так что пишет, какую ошибку?. Вы приводите пример вашей проблемы, либо скиньте чать кода, потому что так будет легче вас понять!!! Я если честно толком не понял, либо скиньте проект!!!
0
-2 / 0 / 0
Регистрация: 28.10.2009
Сообщений: 150
28.08.2012, 14:15  [ТС]
Вот такой фрагмент

C#
1
if (comboBox1.Text = 'м') this.юноши_ДевушкиTableAdapter.Fill(this.dekanatDataSet1.Юноши_Девушки);
Ошибка 1 Элемент "comboBox1" не существует в текущем контексте.

Так как этот элемент на другой форме, что и понятно.
0
1 / 1 / 1
Регистрация: 27.08.2012
Сообщений: 6
28.08.2012, 15:05
C#
1
2
Form f = Application.OpenForms["FormName"/Index].FindForm();
ComboBox cmb = (ComboBox)f.Controls["comboBoxName"/IndexOfControl];
0
 Аватар для Kazbek17
1484 / 939 / 454
Регистрация: 06.02.2012
Сообщений: 2,869
28.08.2012, 15:08
А причем здесь comboBox1.Text = 'м'? вы выбираете строку в comboBox1.Text ? или вы указываете что используете comboBox1.Text ? в качестве выбора?

Цитата Сообщение от AXS Посмотреть сообщение
Так как этот элемент на другой форме, что и понятно.
правильно что бы использовать comboBox1 в с другой формы нужно использовать ссылку на объект можно воспользоваться ((Form1)this.Owner).comboBox1(ваше дальнейшее действие) это действие нужно расположить где вы обращаетесь comboBox1.
0
556 / 510 / 25
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
28.08.2012, 15:11
а саму форму (ту, в которой мэжо) из кнопочной видно? тогда
C#
1
if (formWithMZh.comboBox1.Text = 'м') this.юноши_ДевушкиTableAdapter.Fill(this.dekanatDataSet1.Юноши_Девушки);
0
 Аватар для Kazbek17
1484 / 939 / 454
Регистрация: 06.02.2012
Сообщений: 2,869
28.08.2012, 15:18
Цитата Сообщение от shalom88 Посмотреть сообщение
C#
1
2
Form f = Application.OpenForms["FormName"/Index].FindForm();
ComboBox cmb = (ComboBox)f.Controls["comboBoxName"/IndexOfControl];
Что за бред вы показали, причем здесь выше указанный вами код?

Добавлено через 6 минут
Давайте по другому пойдем. У вас на главной форме расположено 2 - ComboBox-са так?
1 с Name "M".
2 с Name "Ж".

Какое методы должны делать ComboBox? Выбор определенной строки, Клик по ComboBox? или что?
0
1 / 1 / 1
Регистрация: 27.08.2012
Сообщений: 6
28.08.2012, 16:56
так я могу обратиться к ComboBox из другого Form

Добавлено через 11 минут
Цитата Сообщение от AXS Посмотреть сообщение
Вот такой фрагмент

C#
1
if (comboBox1.Text = 'м') this.юноши_ДевушкиTableAdapter.Fill(this.dekanatDataSet1.Юноши_Девушки);
Ошибка 1 Элемент "comboBox1" не существует в текущем контексте.

Так как этот элемент на другой форме, что и понятно.
C#
1
2
3
Form f = Application.OpenForms["FormName"/Index].FindForm();
ComboBox cmb = (ComboBox)f.Controls["comboBox1"];
if (cmb.Text = 'м') this.юноши_ДевушкиTableAdapter.Fill(this.dekanatDataSet1.Юноши_Девушки);
0
556 / 510 / 25
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
28.08.2012, 17:01
Цитата Сообщение от shalom88 Посмотреть сообщение
C#
1
2
3
Form f = Application.OpenForms["FormName"/Index].FindForm();
ComboBox cmb = (ComboBox)f.Controls["comboBox1"];
if (cmb.Text = 'м') this.юноши_ДевушкиTableAdapter.Fill(this.dekanatDataSet1.Юноши_Девушки);
это называется "через *опу".
зачем такие сложности? человек сам обе формы создавал? имеет от них handles? если не имеет, то имеет возможность иметь. нафига выискивать то, что с самого начала в руках имеешь?
короче, прямой ответ на поставленный вопрос такой:
"так же, как и обратиться к свойству другого класса".
1
 Аватар для Kazbek17
1484 / 939 / 454
Регистрация: 06.02.2012
Сообщений: 2,869
28.08.2012, 20:00
вот самый простой способ, Форма1( в ней comboBox1). Форма2(пишем код)
C#
1
((Form1)this.Owner).comboBox1(ваше дальнейшее действие)\\ Код нужно вставить в обработчик событий
Все теперь вы можете управлять ComboBox-м с формы 2.
2
-2 / 0 / 0
Регистрация: 28.10.2009
Сообщений: 150
28.08.2012, 21:21  [ТС]
Спасибо всем за отклики. Получается следующее:
C#
1
 if ((FChoicePol)this.Owner).comboBox1.(Text = 'м') this.юноши_ДевушкиTableAdapter.Fill(this.dekanatDataSet1.Юноши_Девушки);
Но всё равно есть ошибки.
1) Недопустимый элемент "." (перед comboBox1)
2) Требуется ";" (при выборе ошибки указывает на comboBox1 почему-то)
3) Требуется идентификатор (указывает на скобку перед Text )
4) Требуется ";" (при выборе ошибки указывает на this почему-то)
0
180 / 58 / 7
Регистрация: 28.08.2012
Сообщений: 363
28.08.2012, 21:30
AXS, сначала из одной формы вызовете другую, а затем обратитесь к комбобоксу:
C#
1
2
3
4
5
Form2 f = new Form2();
if (f.combobox1.Text = "м") 
{
   this.юноши_ДевушкиTableAdapter.Fill(this.dekanatDataSet1.Юноши_Девушки);
}
0
 Аватар для Kazbek17
1484 / 939 / 454
Регистрация: 06.02.2012
Сообщений: 2,869
28.08.2012, 23:21
Уважаемый quizzer!!! Сначало прочитайте нормально начало поста!!!

[Сначала из одной формы вызовете другую]>>>> Это барану ясно!!!


[а затем обратитесь к комбобоксу:]>>>> Каким ракусом вы сможете обратится comboBox -су, если вы в коде не указали ссылку, на объект? Не городите ерунду. Ваш код не верный!!!
0
-2 / 0 / 0
Регистрация: 28.10.2009
Сообщений: 150
29.08.2012, 14:36  [ТС]
А как будет верно? Если делать так
C#
1
2
3
4
5
 FChoicePol ChoicePol = new FChoicePol();
            if (ChoicePol.comboBox1.Text = "м")
            {
                this.юноши_ДевушкиTableAdapter.Fill(this.dekanatDataSet1.Юноши_Девушки);
            }
то ошибка.
Ошибка 1 "Dekanat.FChoicePol.comboBox1" недоступен из-за его уровня защиты
0
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
30.08.2012, 21:35
Не обращайтесь к элементам напрямую - сделайте метод, в той форме, которой принадлежит комбобокс передайте ему параметры(например адаптер), и вызывайте уже метод.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.08.2012, 21:35
Помогаю со студенческими работами здесь

Как обратиться к объекту на другой форме?
В приложении созданы 2 формы. form1 и form2. причём form1 и form2 - это не имена объектов, а имена классов. объект form2 просто создать и...

Как обратиться к RecSet в другой форме?
Ну подскажите пожалуйста как обратиться к RecSet в другой форме? Это же наверное не так и сложно? Form2.RESet1 не работает конечно. Есть...

Как обратиться к элементу в другой форме?
Есть две формы, главная и подчиненная (MDI). На главной есть StatusBar. Как мне к нему обратиться из подчиненной формы? Сорри за возможно...

Как обратиться к richTextBox1 в другой форме
Здравствуйте, есть такая проблема нужно обратится к richTextBox1 и взять с него текст, он находиться в форме blank, как правильно это...

Как обратиться к другой открытой форме?
Как вообще обратиться к уже открытой, показаной форме и в ней изменить какое-то свойство? Сделал вот так : Код для второй формы : ...


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru