VB.NET. Создание компонентов Урок 8. Реакция на изменение размеров
Сейчас наш компонент не обращает внимания, если мы меняем его размеры (например, в некотором тестовом проекте на VB.NET или C#). В частности, число, которое на нем показывается, в результате изменения размеров оказывается, как правило, не посередине компонента, а остается на старом месте. И только когда мы закончим изменение размера и отпустим кнопку мыши, то число перерисовывается на своем новом месте.
Стандартные же компоненты ведут себя иначе - если вы, например, разместите на форме кнопку и будете плавно менять ее размеры, то надпись на кнопку будет оставаться посередине при таком изменении размеров.
Давайте исправим этот недостаток.
Для этого просто переопределим в классе нашего компонента метод OnSizeChanged из родительского класса. Как вы помните, для этого надо в окне кода в левом комбобоксе выбрать Overrides, а в правом - OnSizeChanged:
В полученнную заготовку просто вставьте вызов метода Invalidate:
Protected Overrides Sub OnSizeChanged(ByVal e As System.EventArgs)
Invalidate()
End Sub
Все! Теперь при изменении размеров размещенного на тестовой форме нашего компонента он будет перерисовываться плавно:
|