Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.57/14: Рейтинг темы: голосов - 14, средняя оценка - 4.57
Mr_Ser_Win
44 / 43 / 7
Регистрация: 15.10.2008
Сообщений: 320
1

Как управлять элементами одной формы из другой

17.03.2009, 18:30. Просмотров 2666. Ответов 8
Метки нет (Все метки)

Здравствуйте.
Прочитал все темы касающиеся этого вопроса
(к примеру Как из одной формы передать данные в другую? илиУправление одной формой из другой.)
но так и не понял ничего.
у меня такая проблема.
в файле MainForm есть tabControl и с второго файла, при нажатии кнопки button надо добавить в tabContron tabPage.
Помогите. Заранее спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.03.2009, 18:30
Ответы с готовыми решениями:

Из одной формы пользоваться элементами другой
Есть 2 формы. 1. 2. Как разрешить использование элементов первой формы из...

Как управлять компонентом другой формы?
1) в Form1 есть компонент menustrip и нажимая на кнопки я должен открывать...

Как определить расположение одной формы из другой формы?
Добрый день. У меня вопрос, как считать Location из Form1 при открытии Form2 (...

Как передать данные из одной формы другой, если формы вызываються через MDI форму?
Я создал MDI форму для которой добавил две toolstrip button вызывающие форму1 и...

Как изменить фон одной формы из другой
Программисты помогайте! Нужна помощь!!! У меня есть главная форма в которой...

8
Green
1919 / 424 / 40
Регистрация: 12.07.2007
Сообщений: 2,062
Завершенные тесты: 2
18.03.2009, 04:08 2
если передаете ссылку на MainForm, то для tabControl установить модификатор доступа в public.
0
Mr_Ser_Win
44 / 43 / 7
Регистрация: 15.10.2008
Сообщений: 320
18.03.2009, 12:46  [ТС] 3
Цитата Сообщение от Green Посмотреть сообщение
если передаете ссылку на MainForm, то для tabControl установить модификатор доступа в public.
ну вот смотри, в главном файле (ContaktList) я делаю ссылку на второй файл (MainForm)
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
MainForm mainForm = null;
        
        public ContaktList()
        {
            mainForm = new MainForm(this);
            InitializeComponent();
        }
...........
private void lstUserList_DoubleClick(object sender, EventArgs e)
        {
            mainForm.activeTabName = lstUserList.SelectedItem.ToString();
            mainForm.Enabled = true;
            mainForm.Show();
        }
а во втором файле делаю такую штуку
C#
1
2
3
4
5
6
7
public ContaktList parent;
        public MainForm(ContaktList parent)
        {
            this.parent = parent;
            InitializeComponent();
            Enabled = false;
        }
как и было описано в похожих темах.
Но теперь мне надо в методе lstUserList_DoubleClick(этот метод отрабатывает двойной клик по лист боксу) (при отработке) в tabControl (находящийся в MainForm) добавить tabPage. И при каждом двойном клике в лист боксе мне надо создавать новый tabPage.
0
Green
1919 / 424 / 40
Регистрация: 12.07.2007
Сообщений: 2,062
Завершенные тесты: 2
19.03.2009, 04:44 4
Цитата Сообщение от Green Посмотреть сообщение
для tabControl установить модификатор доступа в public
Что не понятно?
0
MAcK
Комбайнёр
1573 / 671 / 77
Регистрация: 27.05.2008
Сообщений: 2,535
19.03.2009, 08:30 5
Цитата Сообщение от Green Посмотреть сообщение
если передаете ссылку на MainForm, то для tabControl установить модификатор доступа в public.
Где-то читал, что это плохой тон программирования.
Лично я делаю через открытые(public) методы как для родительского, так и для дочернего. Можно также передать ссылку на сам компонент.
конструктор:
C#
1
2
3
4
5
6
7
8
9
10
private Label parenLabel;
form2(Label lab)
{
  parentLabel = lab;
}
 
.......
{
  parentLabel.Text = "Children";
}
0
Mr_Ser_Win
44 / 43 / 7
Регистрация: 15.10.2008
Сообщений: 320
19.03.2009, 11:01  [ТС] 6
Green, проблема в том, что все равно не получаеться обратиться...

Добавлено через 50 минут 32 секунды
IT-Skyline, а твой метод что то у меня тоже не получился. можеш подробнее объяснить
0
MAcK
Комбайнёр
1573 / 671 / 77
Регистрация: 27.05.2008
Сообщений: 2,535
19.03.2009, 11:21 7
в первой форме есть лабел (MyLabel)
во-второй форме делаем

C#
1
2
3
4
5
6
7
8
9
10
private Label lab;
 
public void lablab(Label ParentLabel)
{
   lab = ParentLabel;
}
 
........
lab.Text = "Text"; // Где-то меняем текст
........

в главной при создании формы
C#
1
2
Form2 frm = new Form2();
frm.lablab(MyLabel);
1
MAcK
Комбайнёр
1573 / 671 / 77
Регистрация: 27.05.2008
Сообщений: 2,535
19.03.2009, 11:28 8
Вот пример, нажми на кнопку в первой и второй формы
0
Вложения
Тип файла: rar Two Forms.rar (256.5 Кб, 103 просмотров)
Mr_Ser_Win
44 / 43 / 7
Регистрация: 15.10.2008
Сообщений: 320
19.03.2009, 12:01  [ТС] 9
IT-Skyline, спасибо вроде разобрался, если что еще напишу
0
19.03.2009, 12:01
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.03.2009, 12:01

Как использовать radiobutton из одной формы в другой?
Подскажите как мне использовать radiobutton из одной формы в другой форме, то...

Как изменить свойства одной формы из другой?
Делаю текстовый редактор из нескольких форм в visual studio на C#. Мне нужно...

Как передать управление от одной формы другой?
Здравствуйте. Не могу понять как передать управление из одной формы в другую. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru