Так же, как расширение того, что сказал Ethicallogics, я бы создал подкласс и переопределил add, чтобы он каждый раз вызывал UpdateLayout, тогда вам не нужно об этом беспокоиться.
Как правило, хорошо создавать подклассы всех классов .net [специально для всего, что связано с пользовательским интерфейсом], которые вам понадобятся. Таким образом, если вы столкнетесь с пользовательскими требованиями, вам не придется делать это позже.Всегда используйте свои собственные подклассы.