Привет, проблема в том, что ваша вкладка управляет выбранным событием, и оно срабатывает, когда вы щелкаете по общему списку, в результате чего появляется экземпляр списка, который имеет фокус на другой вкладке. На самом деле это не совсем ошибка. Он делает именно то, что вы сказали.
Измените свой код в обработчике событий на:
if (e.Source is TabControl)
{
var parent = listBox.Parent as Panel;
parent.Children.Remove(listBox);
var panel = tabControl.SelectedIndex == 0 ? panel1 : panel2;
panel.Children.Add(listBox);
}
Это остановит нежелательное сфокусированное поведение, которое вы видели.