Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

TabControl одинаковые контролы на всех страницах

2.5K
19 августа 2009 года
Akula
38 / / 17.01.2005
Здравствуйте,

Задача следующая: TabControl, на его странице есть определенные контролы. Нужно сделать, что бы на всех последующих страницах были те же самые контролы, а уже программно менять только их содержимое. Если подскажете как реализовать альтернативными способами - тоже хорошо.

Яркий пример - вкладки QIP. На всех вкладках те же самые контролы, а при смене вкладки меняется инфа.

Возможно при создании вкладки создавать новые контролы, но мне кажется, что ресурсов это будет кушать многим больше.
2.2K
19 августа 2009 года
REFOT
181 / / 08.04.2005
Так пусть и будет всего одна страница с контролами, а при нажатии на другую вкладку, меняй содержимое контролов, не меняя страницы :)
2.5K
21 августа 2009 года
Akula
38 / / 17.01.2005
Чего-то я не понял. В TabControl при нажатии на вкладку, автоматически меняется страница. Как этого избежать - я незнаю.
297
21 августа 2009 года
koodeer
1.2K / / 02.05.2009
Размести контролы поверх TabControl'а, а не на нём самом. Тогда при смене вкладки контролы поверх будут оставаться прежними.
2.2K
21 августа 2009 года
REFOT
181 / / 08.04.2005
Цитата: Akula
Чего-то я не понял. В TabControl при нажатии на вкладку, автоматически меняется страница. Как этого избежать - я незнаю.



Ну, можно, через визард в TabControl создать одну вкладку и на ней разместить нужные тебе контролы, а дальше сделать примерно так :

Код:
public partial class Form1 : Form
{
   public Form1()
   {
      InitializeComponent();
      //Подписались на событие - вкладка изменилась
      tabControl1.SelectedIndexChanged += new System.EventHandler(this.SelIndexChanged);
      //Добавляем две новых вкладки    
      tabControl1.TabPages.Add("Вкладка №2");
      tabControl1.TabPages.Add("Вкладка №3");
   }

   private void SelIndexChanged(object sender, EventArgs e)
   {
      //Показываем первую страницу, при выборе любой из вкладок
      TabControl tbc = sender as TabControl;
      if (tbc != null)  tbc.TabPages[0].Show();
   }
}
2.5K
22 августа 2009 года
Akula
38 / / 17.01.2005
спасибо. туплю.

разместил табконтрол так, что бы были видны только вкладки. Все остальное разместил на самой форме. Сразу чего-то не дошло.

спасибо всем за помощь
5
25 августа 2009 года
hardcase
4.5K / / 09.08.2005
Неужели вкладок так много и содержимое контролов занимает так много ресурсов?
На мой взгляд самое разумное решение - создать UserControl, на котором расположить все нужные компоненты, далее создавать его экземпляр на каждой вкладке. И никакого копирования!
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог