вопрос по TabControl
От: MuSHaN  
Дата: 10.10.05 07:31
Оценка:
Народ, есть вопрос: есть форма, на ней TabControl, ниже код, где создается новая страница, а на ней кнопка.

private Button n_Button;
private TabPage n_Page;

private void tool_NewPage_Click(object sender, EventArgs e)
{
n_Page = new TabPage();
n_Button = new Button();
n_Button.Parent = n_Page;
n_Button.Text="Кнопка "+pgIndex.ToString();
n_Page.Text = "Новая страница "+pgIndex.ToString();
tabControl1.TabPages.Add(n_Page);
}

Так вот сам вопрос: как мне получить потом доступ к методам, свойствам и событиям этой кнопке на активной вкладке, т.е., например, динамически создалось 10 вкладок, я переключаюсь на 7-ю, как мне поменять надпись на кнопке внутри активной вкладке
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>

14.10.05 12:01: Перенесено модератором из '.NET' — TK
Re: вопрос по TabControl
От: mbrodin Украина  
Дата: 10.10.05 07:47
Оценка:
Здравствуйте, MuSHaN, Вы писали:

            foreach (Control c in tabPage.Controls)
            {
                Button b = c as Button;
                if (c != null)
                {                    
                    // Ура это кнопка
                }
            }
... << RSDN@Home 1.1.4 beta 7 rev. 447>>
Re: вопрос по TabControl
От: suborg Россия www.suborg.ru
Дата: 10.10.05 07:55
Оценка:
Здравствуйте, MuSHaN.

Наверное подойдёт что-то вроде того:

tabControl1.TabPages[tabControl1.SelectedIndex].Controls[0].Text="WOW!";

В данном случае получается доступ к надписи на первом попавшемся на закладке контроле, точно так же можно получить доступ к остальным его свойствам, методам и т.п.
вопрос по TabControl
От: Аноним  
Дата: 10.10.05 07:51
Оценка:
ищешь кнопку по названию или по тексту:

foreach( control in tabControl1.TabPages[n].Controls )
{
if( control is Button )
(control as Button).Text = "ggg";
}
примерно так...



данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re[2]: вопрос по TabControl
От: MuSHaN  
Дата: 10.10.05 08:07
Оценка:
Здравствуйте, mbrodin, Вы писали:

M>Здравствуйте, MuSHaN, Вы писали:


M>
M>            foreach (Control c in tabPage.Controls)
M>            {
M>                Button b = c as Button;
M>                if (c != null)
M>                {                    
M>                    // Ура это кнопка
M>                }
M>            }

M>

Неа, не катит, этот код получает последнюю созданную кнопку, а на активной странице хрен
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[2]: вопрос по TabControl
От: MuSHaN  
Дата: 10.10.05 08:12
Оценка:
Здравствуйте, suborg, Вы писали:

S>Здравствуйте, MuSHaN.


S>Наверное подойдёт что-то вроде того:


S>tabControl1.TabPages[tabControl1.SelectedIndex].Controls[0].Text="WOW!";


S>В данном случае получается доступ к надписи на первом попавшемся на закладке контроле, точно так же можно получить доступ к остальным его свойствам, методам и т.п.


Пасибки, получилося
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[3]: вопрос по TabControl
От: mbrodin Украина  
Дата: 10.10.05 08:20
Оценка:
Здравствуйте, MuSHaN, Вы писали:

Ну естественно вот в этом месте нужно подставить активную страницу.
Код перебирает все контролы на странице

M>>
M>>            foreach (Control c in tabPage.Controls)
M>>


MSH>Неа, не катит, этот код получает последнюю созданную кнопку, а на активной странице хрен
... << RSDN@Home 1.1.4 beta 7 rev. 447>>
Re[4]: вопрос по TabControl
От: MuSHaN  
Дата: 10.10.05 08:28
Оценка:
Здравствуйте, mbrodin, Вы писали:

M>Здравствуйте, MuSHaN, Вы писали:


M>Ну естественно вот в этом месте нужно подставить активную страницу.

M>Код перебирает все контролы на странице

M>>>
M>>>            foreach (Control c in tabPage.Controls)
M>>>


MSH>>Неа, не катит, этот код получает последнюю созданную кнопку, а на активной странице хрен

Да это я понял, ну уже все — разобрался suborg помог
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.