![]() |
Модераторы: Partizan, gambit Страницы: (14) Все « Первая ... 4 5 [6] 7 8 ... Последняя »
( Перейти к первому непрочитанному сообщению ) |
![]() ![]() ![]() |
|
Dark_Falcon |
|
||||||||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 11.7.2007 Репутация: нет Всего: нет |
В Form2 пишем
Обработчик нажатия на кнопку 2 в Form2
Обработчик нажатия на кнопку 1 в Form1
|
||||||||
|
|||||||||
Sergey_P |
|
||||
Новичок Профиль Группа: Участник Сообщений: 33 Регистрация: 6.9.2007 Репутация: нет Всего: нет |
А как сделать, чтобы при нажатии кнопки во второй форме, данные передавались бы в первую, но при этом не закрывалась вторая форма? Я попробовал так: но при компиляции в строке "public child(ParentForm link)" выдается ошибка Class, struct or integface method must have a return type Дальше я посмотрел пример И изменил таким образом В форме 1 текст такой
а в форме 2 такой
Но при компиляции выдается ошибка parentForm.textBox1.Text = this.textBox1.Text; .... .Form1.textBox1.Text is inaccessible due to its protection level Добавлено через 6 минут и 51 секунду кстати, а если надо перемещать большой объем данных из потомка в родителя, как сделать, чтобы такая операция не тормозила? |
||||
|
|||||
ivashkanet |
|
||||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 3 Всего: 149 |
Если это конструктор, то он должен называться ChildForm, а если нет, то должен быть тип (void например)
Перевод: .... .Form1.textBox1.Text недоступен ввиду его "уровня доступа" Пояснение: Скорее всего textBox1 имеет модификатор private. |
||||
|
|||||
Sergey_P |
|
||||
Новичок Профиль Группа: Участник Сообщений: 33 Регистрация: 6.9.2007 Репутация: нет Всего: нет |
таак, понятно
![]() исправил на public у кнопки, заработало ...но вторая форма появляется вообще пустой ![]() вот код в первой форме (там в дизайнере добавил текстовое поле и кнопку)
на вторую форму тоже добавил кнопку 2, и текстовое поле 2
неделю назад программил на дельфи и в глаза не видел C#, а сейчас срочно надо C# !!!!! помогите ![]() Добавлено через 4 минуты и 34 секунды гыыыыы, понял ![]() я забыл InitializeComponent(); |
||||
|
|||||
Sergey_P |
|
|||
Новичок Профиль Группа: Участник Сообщений: 33 Регистрация: 6.9.2007 Репутация: нет Всего: нет |
к спецам есть еще вопрос - а можно родительской форме передать событие?
если да, как это правильнее всего сделать? |
|||
|
||||
Deja_Vu |
|
||||||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 88 Регистрация: 15.6.2007 Где: Казань Репутация: нет Всего: 2 |
Лично я думаю, что форма, этопржде всего инструмент ввода/ввывода информации, а саму информацию нужно хранить в другом месте.
Поэтому использую родительский класс(свой - DataCenter), который и работает со всеми формами и т.д. DataCenter.cs
Program.cs
Form1.cs
AboutBox1.cs
Конечно, я не профи в C#.NET поэтому буду рад обсуждению такого подхода. Добавлено через 2 минуты и 20 секунд to Sergey_P имхо - мой подход может тебе очень помочь, т.к. с помощью него можно получать доступ к чему угодно... |
||||||||
|
|||||||||
ivashkanet |
|
|||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 3 Всего: 149 |
Deja_Vu, нормуль ;-)
Концепция хороша, реализация тоже неплоха. Я что-то в этом духе использую сам. P.S. Только вот это все сложно для тех, кто не знает как "Как обратиться к объекту другой формы".... |
|||
|
||||
alver |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 74 Регистрация: 27.10.2006 Где: Питер Репутация: нет Всего: нет |
Хм, очень грустно конечно. Но перечитав топик 4 раза, так и не допонял, какой способ мне нужно использовать. Тут большинство пишут про возвращение значения из формы2 в форму1. А если просто надо передать значение из формы1 в форму2. Т.е. у меня есть форма1 с textBox и кнопка "Далее". При нажатии на кнопку "далее" форма1 закрывается(или скрывается), а значение textBoxa передаётся в форму2, где с ним(со значением) происходят необходимые вычисления.
|
|||
|
||||
ivashkanet |
|
||||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 3 Всего: 149 |
|
||||
|
|||||
alver |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 74 Регистрация: 27.10.2006 Где: Питер Репутация: нет Всего: нет |
Всё, спасибо разобрался.
А ещё такой вопрос. Т.к. первая форма у меня главная, то при открытии второй, ественно, закрыть первую форму я не могу, приходится её скрывать методом ".Hide()". А при закрытии второй, первая остаётся висеть в памяти. Как же мне при закрытии второй закрыть и первую? Это сообщение отредактировал(а) alver - 21.11.2007, 01:08 |
|||
|
||||
ivashkanet |
|
||||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 3 Всего: 149 |
Из наиболее простых решений я бы предложил следующее:
|
||||
|
|||||
alver |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 74 Регистрация: 27.10.2006 Где: Питер Репутация: нет Всего: нет |
Спасибо. Этот способ я понял. Но уж какой то он больно элементарный. Проти кончено за напористость). Просто хочу ПОНЯТЬ, как именно закрыть первую форму непосредтвенно из второй. Т.е. нужно видеть поля первой формы из второй. Прочитав топик, подозреваю, что нужно передать через конструктор втрой ссылку на первую?? И уже так с ней работать. Но чего то не выходит(
Это сообщение отредактировал(а) alver - 21.11.2007, 11:10 |
|||
|
||||
ivashkanet |
|
||||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 3 Всего: 149 |
Не думаю, что это недостаток ;-)
Да, но раз у тебя есть метод инициалайз, то лучше через него (Я вообще сторонник того, чтобы конструктор делал как можно меньше --- только создавал нужный объект и все). А имея ссылку на первую форму можно делать с ней все что угодно, в частности закрыть ее:
Надеюсь первая форма не главная форма приложения? В этом случае ее нельзя закрыть не закрыв при этом приложения... |
||||
|
|||||
alver |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 74 Регистрация: 27.10.2006 Где: Питер Репутация: нет Всего: нет |
Щас объясню, собственно, в чём загвоздка. Представь себе любой пошаговый мастер, т.е. есть первая форма, нажимаешь на кнопку "далее", появляется вторая форма, и т.д. У меня таких формы подряд четыре. Первая информационная, вторая для ввода данных, третья для вывода формул, четвёртая для вычислений. Т.е. это и есть пошаговый мастер. Собственно хотелось бы, чтобы как в настоящим мастере можно было по кнопке "назад" откатываться на одну форму назад. Ну и передача значений между формами, в чём собственно ты мне уже помог.
|
|||
|
||||
1stain |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 486 Регистрация: 30.7.2007 Где: Киев - Харьков Репутация: 3 Всего: 40 |
alver, одна форма визарда, на ней несколько панелей, каждая для своего шага. В каждый момент Visible = true только та панель, которая соответствует текущему шагу. Вся информация аккумулируется в форме визарда.
-------------------- Все знают, что это невозможно. Но вот приходит невежда, которому это неизвестно - он-то и делает открытие. (Albert Einstein) ![]() |
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | .NET для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |