|
2 / 2 / 0
Регистрация: 17.08.2009
Сообщений: 51
|
||||||||||||||||
Доступ к элементам другой формы03.09.2009, 15:20. Показов 28043. Ответов 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
Как получить доступ к элементам формы из другого обычного класса (не из второй формы) Не удается обращение к элементам и методам формы из другой формы Доступ к элементам формы Доступ к элементам формы Публичный доступ к элементам формы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Оттенки серого
Argus19 18.03.2026
Оттенки серого
Нашёл в интернете 3 прекрасных модуля:
Модуль класса открытия диалога открытия/ сохранения файла на Win32 API;
Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|