Вы начинаете мыслить правильно, но вы еще не совсем там.Решением этой проблемы, безусловно, является объектно-ориентированное наследование, но вы должны быть осторожны, чтобы не нарушать другие важные принципы ООП, а именно инкапсуляцию.
Если иначе, форма не нужно требовать, чтобы «знать» о свойствах элементов управления, которые он содержит.Он не должен знать или заботиться о том, что он содержит ComboBox, TextBox или ListView.
Вместо этого вы должны создавать подклассы каждого из дочерних элементов управления, которые вы хотите изменить, и устанавливать их свойства по умолчанию.Затем вы просто добавили бы в форму экземпляр своего пользовательского подкласса, а не встроенный элемент управления.
Так, например, ваш пользовательский класс TextBox может выглядеть следующим образом:
public class CustomTextBox : TextBox // inherit from TextBox
{
public CustomTextBox()
{
// default constructor
}
// other logic...
}