![]() |
Модераторы: Partizan, gambit |
![]() ![]() ![]() |
|
crang |
|
||||||
Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 3.6.2004 Где: Ukraine Репутация: нет Всего: нет |
Есть проект из двух форм, в первой определяются переменные для использования во второй . Пробовал объявить в первой форме, после объявления класса формы
и без "public" и с инициализацией и без:
и вот из другой формы никак не могу найти эти someVar'ы ![]() пытался обратиться напрямую по имени - говорит нет такого объекта в данном нэймспейсе, пробовал как к объекту главной формы - и там нету такого объекта ![]()
подскажите плз - как должно быть? Это сообщение отредактировал(а) crang - 2.6.2005, 16:38 |
||||||
|
|||||||
redrick |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 547 Регистрация: 7.1.2004 Где: Москва Репутация: нет Всего: 5 |
какие ошибки валятся ? сам объект создается ?
-------------------- Имею Мнение Хрен Оспоришь |
|||
|
||||
crang |
|
||||
Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 3.6.2004 Где: Ukraine Репутация: нет Всего: нет |
Если в первой форме написать
а во второй
то пишет : The name 'klbhost' does not exist in the class or namespace 'clbftp_daemon.Tunes' |
||||
|
|||||
simanyay |
|
|||
![]() Антон Ковалёв ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2053 Регистрация: 22.8.2002 Репутация: нет Всего: 36 |
Ну дык ты же переменные класса создаешь в классе MainForm, а в методе button1_Click(...) класса Tunes ты пытаешься вызвать их, как если бы они были объявлены внутри класса Tunes. Это всё относилось ко второму примеру, поскольку первый я не очень понял
![]() -------------------- «It's better to be a pirate than to join the Navy» — Steve Jobs. |
|||
|
||||
crang |
|
|||
Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 3.6.2004 Где: Ukraine Репутация: нет Всего: нет |
simanyay
так об этом я и спрашиваю - а где их тогда объявлять чтоб было видно отовсюду? |
|||
|
||||
simanyay |
|
||||
![]() Антон Ковалёв ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2053 Регистрация: 22.8.2002 Репутация: нет Всего: 36 |
А вообще лучше тебе создать свойства для public переменных. ИМХО, все переменные должны быть закрыты, а доступ к ним должен быть только из методов или свойств.
А вот глобальных переменных в C#, насколько я знаю, нет. Что и правильно. Ещё почитай вот это: Access Modifiers -------------------- «It's better to be a pirate than to join the Navy» — Steve Jobs. |
||||
|
|||||
Kurt |
|
||||||||||
Увлеченный ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1662 Регистрация: 22.8.2003 Где: Краснодар Репутация: 20 Всего: 36 |
Думаю, это не будет работать. Этим кодом ты во второй форме создаешь ДРУГОЙ объект класса MainForm, к-й будет иметь СВОИ значения соотв. полей. Как я понимаю, задача сводится к следующему: есть две формы. Form1 вызывает Form2. Причем в Form2 нужно получить значение некоторого поля из Form1. Я бы решил эту задачу так. 1) объявил бы private-переменную в классе Form1:
2) написал бы Property для доступа у этому полю:
3) В классе Form2 создал бы конструктор, к-й бы в качестве входного параметра принимал ссылку на Form1:
4) Все. Теперь я могу обращаться к полям первой формы:
З.Ы. Кстати, в Java то же самое. -------------------- Для корабля, который не знает куда плыть, нет попутного ветра... ((С) Архимед) ... Все знают, что это невозможно. Но случайно находится невежда, который этого не знает. Он-то и делает открытие.. ((С) А. Эйнштейн) |
||||||||||
|
|||||||||||
Tomcat |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 86 Регистрация: 4.4.2003 Где: Гродно, Беларусь Репутация: 2 Всего: 2 |
Свои пять копеек... Для этих целей в ООП обычно используют открытые статические переменные. Вот хорошая конструкция Singleton-класса (класса, для которого может существовать только один экземпляр объекта). Грубо говоря, глобальная переменная строго определенного типа.
Это сообщение отредактировал(а) Tomcat - 2.6.2005, 18:26 |
||||
|
|||||
simanyay |
|
|||
![]() Антон Ковалёв ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2053 Регистрация: 22.8.2002 Репутация: нет Всего: 36 |
Я по другому понял задачу. Я понял, что необходимо просто использовать внешние переменные другого класса. -------------------- «It's better to be a pirate than to join the Navy» — Steve Jobs. |
|||
|
||||
crang |
|
|||
Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 3.6.2004 Где: Ukraine Репутация: нет Всего: нет |
Ух уж это ООП..
Kurt Спасибо за разъяснение, технологию я понял. Простите за невнятное описание проблемы - учусь ведь вот ![]() |
|||
|
||||
Дрон |
|
|||
![]() Java-ненавистник :) ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3179 Регистрация: 29.12.2002 Где: Санкт-Петербург Репутация: 24 Всего: 92 |
Вообще, то что ты делаешь это очень плохо. Дочерняя форма не должна зависеть от родительской... Но это уже детали ![]() -------------------- Да. Именно так. |
|||
|
||||
crang |
|
|||
Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 3.6.2004 Где: Ukraine Репутация: нет Всего: нет |
Дрон
я это уже понял - использую tabControl |
|||
|
||||
Zdvig |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 112 Регистрация: 3.5.2005 Репутация: 1 Всего: 1 |
Как к textBox первой формы присвоить значение textBox воторой формы. У первого текстового поля видимость выставлена public. Ни одн из вышеперечисленных способов не помогает...
То же отностится и к текстовым переменным. Во всех случаях они возвращают пустоту, вместо строки... Это сообщение отредактировал(а) Zdvig - 4.9.2005, 14:32 --------------------
Лампочка - ожерелье голых поп. Вся любовь - оп-хоп-хоп! |
|||
|
||||
Kurt |
|
|||
Увлеченный ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1662 Регистрация: 22.8.2003 Где: Краснодар Репутация: 20 Всего: 36 |
А ну, покажи как ты это делаешь. Есессно, убрав не относящиеся к делу строчки. ![]() -------------------- Для корабля, который не знает куда плыть, нет попутного ветра... ((С) Архимед) ... Все знают, что это невозможно. Но случайно находится невежда, который этого не знает. Он-то и делает открытие.. ((С) А. Эйнштейн) |
|||
|
||||
Zdvig |
|
||||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 112 Регистрация: 3.5.2005 Репутация: 1 Всего: 1 |
Использую компонент GmailNotifierControl с CodeProject.com, но не как отдельную dll, а интегрированный в мой проект. Из ннего: Делаю экземпляр класса Form1.
Далее в программе:
--------------------
Лампочка - ожерелье голых поп. Вся любовь - оп-хоп-хоп! |
||||||
|
|||||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |