Приведение не имеет высокого приоритета, ваш код фактически пытается преобразовать значение в ctrl.FontSize
в TextBox
, вам нужно добавить круглые скобки (а двойное приведение лишнее):
((TextBox)ctrl).FontSize = 5;
Кроме того, способ проверки типа элемента управления не очень хорошая идея, вместо этого используйте is
. В противном случае подклассы TextBox
не включаются.
if (ctrl is TextBox)
Кроме того, поскольку вы не только заботитесь о типе и приведении типов, но и взаимодействуете с интерфейсом класса TextBox
, вы также можете использовать as
:
var textBox = ctrl as TextBox;
if (textBox != null)
textBox.FontSize = 5;
Это также удобно избавляет от джунглей в скобках.