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

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

28.08.2012, 13:35. Показов 9063. Ответов 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
1483 / 938 / 454
Регистрация: 06.02.2012
Сообщений: 2,868
28.08.2012, 13:37
А что именно вы хотите сделать конкретнее можно!!!
0
-2 / 0 / 0
Регистрация: 28.10.2009
Сообщений: 150
28.08.2012, 13:53  [ТС]
У меня на Form1 есть комбобокс. Принимающий значения м и ж. На Form2 есть кнопка. Мне нужно сделать так, чтобы при выборе на первой форме "м" в комбобоксе и нажатии на второй форме кнопки появлялась третья форма с гридом, в котором список мальчиков. Так вот когда я пишу код к кнопке на второй форме использая названия комбоьокса с первой формы, то он ругается. В дельфи вопрос решается через USES, а тут как?
0
 Аватар для Kazbek17
1483 / 938 / 454
Регистрация: 06.02.2012
Сообщений: 2,868
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
1483 / 938 / 454
Регистрация: 06.02.2012
Сообщений: 2,868
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
1483 / 938 / 454
Регистрация: 06.02.2012
Сообщений: 2,868
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
1483 / 938 / 454
Регистрация: 06.02.2012
Сообщений: 2,868
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
1483 / 938 / 454
Регистрация: 06.02.2012
Сообщений: 2,868
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
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru