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

Kopiuj
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:

Kopiuj
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);
			}
		}
	}
}