Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/30: Рейтинг темы: голосов - 30, средняя оценка - 4.83
45 / 44 / 7
Регистрация: 15.10.2008
Сообщений: 320
1

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

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

Author24 — интернет-сервис помощи студентам
Здравствуйте.
Прочитал все темы касающиеся этого вопроса
(к примеру Как из одной формы передать данные в другую? илиУправление одной формой из другой.)
но так и не понял ничего.
у меня такая проблема.
в файле MainForm есть tabControl и с второго файла, при нажатии кнопки button надо добавить в tabContron tabPage.
Помогите. Заранее спасибо
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.03.2009, 18:30
Ответы с готовыми решениями:

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

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

Как из одной формы добавить вручную строки в ListBox из другой формы?
Подскажите как из одной формы добавить вручную строки в листбокс из другой формы? case "DTI":...

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

8
1923 / 428 / 41
Регистрация: 12.07.2007
Сообщений: 2,062
18.03.2009, 04:08 2
если передаете ссылку на MainForm, то для tabControl установить модификатор доступа в public.
0
45 / 44 / 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
1923 / 428 / 41
Регистрация: 12.07.2007
Сообщений: 2,062
19.03.2009, 04:44 4
Цитата Сообщение от Green Посмотреть сообщение
для tabControl установить модификатор доступа в public
Что не понятно?
0
Комбайнёр
1606 / 704 / 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
45 / 44 / 7
Регистрация: 15.10.2008
Сообщений: 320
19.03.2009, 11:01  [ТС] 6
Green, проблема в том, что все равно не получаеться обратиться...

Добавлено через 50 минут 32 секунды
IT-Skyline, а твой метод что то у меня тоже не получился. можеш подробнее объяснить
0
Комбайнёр
1606 / 704 / 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
Комбайнёр
1606 / 704 / 77
Регистрация: 27.05.2008
Сообщений: 2,535
19.03.2009, 11:28 8
Вот пример, нажми на кнопку в первой и второй формы
Вложения
Тип файла: rar Two Forms.rar (256.5 Кб, 123 просмотров)
0
45 / 44 / 7
Регистрация: 15.10.2008
Сообщений: 320
19.03.2009, 12:01  [ТС] 9
IT-Skyline, спасибо вроде разобрался, если что еще напишу
0
19.03.2009, 12:01
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.03.2009, 12:01
Помогаю со студенческими работами здесь

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

Как с одной формы задействовать компонент на другой?
На форме1 расположен компонент datagridview1 , на 2 форме метод с этой таблицей. Но таблица на 2...

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

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


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru