Пара вещей.
Установите для свойства каждого ярлыка GenerateMember значение false:
label1.GenerateMember = False
Это предотвратит появление метки в полях со списком представлений кода и intellisense.
Кроме этого, у вас просто слишком много элементов управления.
Вы упомянули «вкладки», и в этом случае вы можете попытаться переместить каждую вкладку материала в отдельный пользовательский контроль, а затем вы загружаете только один пользовательский контроль для каждой вкладки. Это не уменьшает количество элементов управления, но делает его немного более управляемым.
Другое «задание» метки состоит в том, чтобы обеспечить активацию мнемонического элемента управления для следующего элемента управления в порядке табуляции. Если вы не используете это, вы можете попробовать «обмануть» и избавиться от меток вместе, и «нарисовать» метку рядом с каждым элементом управления в событии рисования контейнера. Вы можете поместить отображение метки в свойство тега элемента управления и нарисовать его. Не обязательно самое лучшее предложение.
Пример:
Private Sub Form1_Paint(ByVal sender As Object, ByVal e As PaintEventArgs) Handles MyBase.Paint
For Each c As Control In Me.Controls
If c.Tag IsNot Nothing Then
TextRenderer.DrawText(e.Graphics, c.Tag.ToString, Me.Font, _
New Rectangle(c.Left - 100, c.Top, 100, c.Height), _
Color.Black, Color.Empty, TextFormatFlags.VerticalCenter)
End If
Next
End Sub