Извините, Ануя, без всего кода трудно сказать, какие из них могут или не могут быть вам полезны, но вот три идеи или мысли, которые вы можете рассмотреть:
1-е рассмотрение:
когда вы добавляете TabPages в TabControl, я замечаю, что вы, кажется, не добавляете его в коллекцию Controls TabControl. Я действительно думаю, что вам может понадобиться добавить tabControl1.Controls.Add(tp);
, когда вы добавляете TabPage, чтобы действительно добавить его к 'Count' TabPages для TabControl.
2-е рассмотрение:
Я не знаю, что вызов TabPage.Dispose удалит TabPage из TabControl, но, возможно, он будет работать. Когда я удаляю TabPages, я использую метод TabControl.Remove ().
3-е рассмотрение:
У меня были некоторые проблемы с TabControl, и единственный способ, который я решил, это добавить таймер в мой проект, а затем при следующем тике таймера сделать что-нибудь. поэтому я закончил писать свой собственный процессор действий с различными действиями, которые я мог сделать, и у меня был список действий с отметкой времени, когда это действие должно быть обработано. список действий оказался очень полезным для многих вещей, но сначала он мне понадобился для моего TabControl. в моем случае мне нужно было показать вкладку, но когда я добавил вкладку, она не отображалась правильно, даже когда я установил выбранную вкладку после добавления. Но когда я выбрал вкладку, которую я хотел, примерно через 100 мс после того, как я добавил вкладку, она работала безупречно, с одним небольшим уродством: элемент управления вкладками «мигает». То есть пользователь может видеть мерцание вкладки, поскольку он фактически рисует вновь добавленную вкладку, затем через 100 мс выбирает нужную вкладку. но это был единственный способ решить мою проблему. Интересно, может ли ваша проблема быть связана с моей, где, возможно, вы можете удалить вкладку через 100 мс после того, как пытаетесь это сделать сейчас.
Это три соображения, из которых я подозреваю, что мой первый вариант может решить вашу первую проблему.
Удачного кодирования !!