|
2 / 2 / 0
Регистрация: 17.08.2009
Сообщений: 51
|
||||||||||||||||
Доступ к элементам другой формы03.09.2009, 15:20. Показов 28033. Ответов 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
Как получить доступ к элементам формы из другого обычного класса (не из второй формы) Не удается обращение к элементам и методам формы из другой формы Доступ к элементам формы Доступ к элементам формы Публичный доступ к элементам формы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|