Witam, mam pewien problem z zamykaniem zakładek w komponencie TabControl. Gdy mam np. 4 zakładki i postanowię zamknąć drugą z nich to aktywną zakładką powinna zostać ta, która znajduje się po niej i to działa tak jak chcę, ale tylko dla zakładek, które są zdefiniowane na sztywno, tzn., gdy są dodane w samym komponencie. Problem pojawia się, gdy chcę zamknąć zakładki, które są dodawane dynamicznie, wtedy pojawi się błąd "Wartość nie może być zerowa". Jako źródło błędu najczęściej wskazywana jest linijka

tabControl2.SelectTab(tabControl2.TabPages[k - 1].Text);

Podglądałem wszystkie wartości i wszystko jest tak jak być powinno a, mimo to i tak pojawia się błąd. Czy mógłby ktoś powiedzieć mi co tak naprawdę jest nie tak i w jaki sposób to naprawić? Poniżej umieszczam kod odpowiedzialny za zamykanie zakładek:

for (int i = 0; i < tabControl2.TabCount; i++)
{
	Rectangle rect = tabControl2.GetTabRect(i);
	
	if (rect.Contains(tabControl2.PointToClient(Cursor.Position)))
	{
		int k = i;

		tabControl2.TabPages.RemoveAt(i);

		if (tabControl2.TabCount != 0)
		{
			if (k <= tabControl2.TabCount - 1)
			{
				tabControl2.SelectTab(tabControl2.TabPages[k].Text);
			}
			else
			{
				tabControl2.SelectTab(tabControl2.TabPages[k - 1].Text);
			}
		}
	}
}