Создайте улучшенный собственный шаблон TabControl в C#
Сообщение показывает, как создать управляемый вкладкой элемент управления вкладками. К сожалению, управление ведет себя странно, если оно недостаточно широкое, чтобы отображать все его вкладки сразу. Если элемент управления слишком мал и вы нажимаете последнюю вкладку, элемент управления прокручивает свои вкладки влево, прежде чем выбрать вкладку, которую вы нажали.
Это странно, но не вредно, но что-то хуже происходит, если вы нажмете кнопку X на последней вкладке, чтобы удалить ее. В этом случае код исходного примера вызывает метод RemoveAt элемента управления для удаления последней вкладки. К сожалению, по какой-то причине я не смог понять, вместо этого элемент управления удаляет второй-последний элемент.
К счастью, это легко обойти. Вместо того, чтобы использовать этот код для удаления номера вкладки i:
tabMenu.TabPages.RemoveAt(i);
В новом примере для удаления этой же вкладки используется следующий оператор.
tabMenu.TabPages.Remove(tabMenu.TabPages[i]);
Это изменение не должно иметь значения, поэтому тот факт, что он исправляет проблему, показывает, что внутри TabControl есть что-то не так.
Элемент управления по-прежнему неожиданно прокручивает вкладки, но по крайней мере он больше не удаляет неправильную вкладку.
