|
2 / 2 / 0
Регистрация: 17.08.2009
Сообщений: 51
|
||||||||||||||||
Доступ к элементам другой формы03.09.2009, 15:20. Показов 28021. Ответов 15
Метки нет (Все метки)
Добрый день!
подскажите, как можно осуществить доступ к элементам другой формы. грубо говоря, мне надо из 2-й формы обновить содержимое листбокса 1й формы. в первой форме указал в Button с модификатором public
"for_1C.Admin.Base_list" недоступен из-за его уровня защиты. почему он не доступен - не могу понять. и как это исправить? может я совершенно не то делаю? мне главное понять, как управлять элементами другой формы из текущей формы
0
|
||||||||||||||||
| 03.09.2009, 15:20 | |
|
Ответы с готовыми решениями:
15
Доступ к элементам другой формы
Как получить доступ к элементам управления другой формы |
|
1513 / 780 / 103
Регистрация: 22.04.2008
Сообщений: 1,610
|
|
| 03.09.2009, 15:29 | |
|
По умолчанию и по пронцыпам ООП все члены в классе формы являются private, например контролы
можете поставить public, и получите доступ к контролам другой формы, но это не корректно с точки зрения ООП лучше для этой цели использовать public свойства, и через них передавать нужные данные в другую форму.
0
|
|
|
2 / 2 / 0
Регистрация: 17.08.2009
Сообщений: 51
|
|
| 03.09.2009, 15:56 [ТС] | |
|
Sergei, спасибо за объяснение,не много получилось.
теперь выдаёт ошибку при выполнении на строчку parentForm.Base_list.Items.Add(Global.na me[h]); пишет, что в экземпляре объекта не задана ссылка на объект. пытаюсь разобраться... может у кого-нить найдётся совет?
0
|
|
|
14 / 14 / 2
Регистрация: 04.09.2009
Сообщений: 46
|
|||||||||||
| 04.09.2009, 01:41 | |||||||||||
|
Желательно, не обращаться напрямую к элементам другой формы, это не безопасно. Лучше это делать через промежуточные функции, проверяя валидность данных. Вот небольшой пример:
Форма №1, к ее элементам мы хотим получить доступ, к примеру к элементу DataGridView:
0
|
|||||||||||
|
2 / 2 / 0
Регистрация: 17.08.2009
Сообщений: 51
|
|
| 04.09.2009, 01:45 [ТС] | |
|
Спасибо, утром попробую реализовать.
0
|
|
|
2 / 2 / 0
Регистрация: 17.08.2009
Сообщений: 51
|
||
| 04.09.2009, 10:18 [ТС] | ||
|
to4kin, что-то я не могу вкурить в ваш код... элемент DataGridView не виден ни в первой, ни во второй форме... да и как-то очень много не понятного для меня в нём... можете не много рассказать или объяснить его?
0
|
||
|
14 / 14 / 2
Регистрация: 04.09.2009
Сообщений: 46
|
||||||||||||||||||||||||||||
| 04.09.2009, 11:36 | ||||||||||||||||||||||||||||
Для наглядности можно описать ее так:
Далее записываем в DataGridView1 значение из TextBox1
P.S. Выложите код двух ваших форм, посмотрим в чем там проблема. Добавлено через 25 минут Вот полностью рабочий пример с использованием ListBox'a: From1:
0
|
||||||||||||||||||||||||||||
|
2 / 2 / 0
Регистрация: 17.08.2009
Сообщений: 51
|
|||||||||||
| 04.09.2009, 12:24 [ТС] | |||||||||||
|
код первой формы
0
|
|||||||||||
|
14 / 14 / 2
Регистрация: 04.09.2009
Сообщений: 46
|
||||||||||||||||
| 04.09.2009, 17:25 | ||||||||||||||||
|
Не совсем понял что делает эта программа, но не в этом суть. Вы опять строите обращение так же как и раньше, не глядя на примеры. Вот переработанный код Вашей программы, обратите внимание на части кода выделенные восклицательными знаками.
Первая форма:
1
|
||||||||||||||||
|
2 / 2 / 0
Регистрация: 17.08.2009
Сообщений: 51
|
||||||||||||
| 07.09.2009, 14:15 [ТС] | ||||||||||||
|
огромное спасибо!
но не совсем ещё работает ![]() у меня в лист бокс добавляются не элементы массива а надпись "Массив Object[]" пытался здесь вставить цикл, но это не дало нужного результата
0
|
||||||||||||
|
14 / 14 / 2
Регистрация: 04.09.2009
Сообщений: 46
|
||||||
| 07.09.2009, 15:35 | ||||||
|
Проверьте правильность написания вызова функции для добавления элементов из второй формы:
0
|
||||||
|
2 / 2 / 0
Регистрация: 17.08.2009
Сообщений: 51
|
||||||
| 07.09.2009, 16:03 [ТС] | ||||||
|
именно так и написано у меня
0
|
||||||
|
14 / 14 / 2
Регистрация: 04.09.2009
Сообщений: 46
|
|||||||||||
| 07.09.2009, 18:24 | |||||||||||
|
Просмотрел код еще раз, ошибка в том что Global.name[h] = NULL, т.е. элемент пуст, проверь свой код, где вносишь данные в этот массив, либо сделай так:
1
|
|||||||||||
|
1923 / 428 / 41
Регистрация: 12.07.2007
Сообщений: 2,062
|
||||||||
| 08.09.2009, 05:05 | ||||||||
0
|
||||||||
|
14 / 14 / 2
Регистрация: 04.09.2009
Сообщений: 46
|
|
| 08.09.2009, 10:44 | |
|
0
|
|
|
2 / 2 / 0
Регистрация: 17.08.2009
Сообщений: 51
|
||
| 09.09.2009, 09:51 [ТС] | ||
![]() теперь буду отлаживать свои циклы и условия(не совсем корректно работает прога). с этим сам справлюсь =)
0
|
||
| 09.09.2009, 09:51 | |
|
Помогаю со студенческими работами здесь
16
Как получить доступ к элементам формы из другого обычного класса (не из второй формы) Не удается обращение к элементам и методам формы из другой формы Доступ к элементам формы Доступ к элементам формы Публичный доступ к элементам формы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2).
Унарный минус обозначается как !
в-строка - входное арифметическое выражение в инфиксной(обычной). . .
|
Камера 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. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|