Программно измените порядок вкладки

Как я программно переупорядочиваю вкладки в a TabControl? Я должен отсортировать вкладки в зависимости от некоторых условий.

Если возможно сделать переупорядочение через разработчика, я предполагаю, что мы должны смочь сделать это через код во времени выполнения также.

9
задан omer Farooq 17 May 2016 в 11:39
поделиться

3 ответа

Вы должны переопределить вашу коллекцию закладок, чтобы изменить индекс ваших закладок.

8
ответ дан 4 December 2019 в 08:00
поделиться
  1. Создайте новую форму.
  2. Создайте новый TabControl.
  3. Обратите внимание, что у него есть два элемента управления TabPage, и TabPage1 - это первая вкладка.
  4. В событии Load формы добавьте
    • this.TabControl1.TabPages.Remove (this.TabPage2)
    • this.TabControl1.TabPages.Insert (0, this.TabPage2 )
  5. Запустите форму.
  6. Обратите внимание: TabPage2 теперь является первой вкладкой.

Обратите внимание, что если вы не удалите вкладку, она все равно будет отображаться в своем старом месте. Другими словами, у вас будет две вкладки одной и той же вкладки.

9
ответ дан 4 December 2019 в 08:00
поделиться

Правильно проигравшее. Ниже приведен небольшой пример кода.

У меня есть элемент управления вкладками с двумя вкладками (tabpage1, tabpag2)

Затем я объявляю две вкладки и сохраняю в них существующие вкладки в элементе управления вкладками.

abPage tbp1 = new TabPage();
TabPage tbp2 = new TabPage();

tbp1 = tabControl1.TabPages[0];
tbp2 = tabControl1.TabPages[1];

Затем, нажав кнопку, я удалил вкладки, используя

tabControl1.TabPages.Remove(tabControl1.TabPages[0]);

Теперь, если вы хотите изменить порядок, вам нужно будет добавить его на вкладку в этом порядке

//Order changed    
tabControl1.TabPages.Add(tbp2);
tabControl1.TabPages.Add(tbp1);

Примечание: это непроверенный быстрый код.

5
ответ дан 4 December 2019 в 08:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: