Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.04.2010, 16:41   #1
Dimarik
Форумчанин
 
Аватар для Dimarik
 
Регистрация: 18.04.2009
Сообщений: 688
По умолчанию Forms

Добрый день. Ответьте, пожалуйста, на несколько вопросов.
1. создал приложение. названии форма написал Main1, затем создал новую форму через New Item. Аналогично в названии написал Main2;
В итоге у меня как я понял создались 2 класса Main1 и Main2?
просто в c++ builder после таких же действий были бы созданы 2 объекта Main1 и Main2.
2. Вот у меня в форме Main1 ну или в объекте Main1 есть кнопка Button. при нажатии срабатывает функция Button_Click. Как программно запустить эту функцию?
3. Работаю в Main1 и в некоторый момент хочу закрыть эту форму и перейти к работе в Main2.
В с++ билдере это выглядело бы так: Main1->Close(); Main2->Show().
но подобные операции тут не прокатили. Получилось только так Main2 Form2 = new Main2; Form2.Show(); но мне кажется это как-то криво или я не втыкаю в разницу между плюсами и шарпом?
4. Работаю в Main2 и хочу обратиться к тексовому полю TextBox1, который находится в Main1. я писал Main1.TextBox1, но такого компилятор не видит. как правильно обратиться тогда к TextBox1 из другой формы Main2?
Dimarik вне форума Ответить с цитированием
Старый 26.04.2010, 18:28   #2
m0nax
Форумчанин
 
Аватар для m0nax
 
Регистрация: 25.09.2009
Сообщений: 525
По умолчанию

1. да, создался второй класс формы

2. прямо так и вызывай, как обычную функцию - Button_Click(this, EventArgs.Empty); //можно и null передать

3. можно вместо Close() использовать Hide(), а вторую отображать так же(т.е в итоге первая пропадет, а вторая появится)

4. есть 7 способов - ссылка

Последний раз редактировалось m0nax; 26.04.2010 в 18:33.
m0nax вне форума Ответить с цитированием
Старый 26.04.2010, 21:50   #3
Casper-SC
Форумчанин
 
Регистрация: 04.07.2007
Сообщений: 549
По умолчанию

Цитата:
4. Работаю в Main2 и хочу обратиться к тексовому полю TextBox1, который находится в Main1. я писал Main1.TextBox1, но такого компилятор не видит. как правильно обратиться тогда к TextBox1 из другой формы Main2?
Я после Delphi тоже не мог понять этих моментов некоторое время.

Покажу на примере немного грубовато, но отражает суть:

class Main1 : Form
{
this.textBox1.Text = "Сам текст, который будет в текстбоксе";
}

Как видишь тут пишешь не Main1.textBox1.Text, а this.textBox1.Text. this указывает на класс внутри которого используется, ну или типа того. Думаю суть ясна.
Casper-SC вне форума Ответить с цитированием
Старый 07.05.2010, 21:26   #4
Dimarik
Форумчанин
 
Аватар для Dimarik
 
Регистрация: 18.04.2009
Сообщений: 688
По умолчанию

ну вот я нахожусь в Form2, которая была создана из класса Form2Main
как мне обратиться к форме1???
ну мне надо показать форму 1
просто первоначально форма создаётся автоматически. не я создавал её и её имени я не знаю
Dimarik вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
MS access 2007 forms madace SQL, базы данных 0 15.10.2009 15:04
::FORMS:: doniyor Общие вопросы Delphi 4 05.02.2009 15:03
MDI Forms 1234 Общие вопросы Delphi 8 23.08.2008 11:43
MDI FOrms SunKnight Общие вопросы Delphi 8 16.12.2007 11:17
Dockable forms Roughneck Общие вопросы Delphi 2 11.04.2007 15:19