Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB .NET > Обойти рекурсивный вызов


Автор: Dumm 7.11.2015, 21:41
Приветствую! В пользовательском компоненте хочу сделать свойство "BackColor", переопределив базовое свойство:
Код

    Public Overrides Property BackColor As Color

        Set(ByVal Value As Color)
            clBackColor = Value
        End Set

        Get
            Return clBackColor
        End Get

    End Property
В нем должен устанавливаться BackColor всех контролов в этом компоненте, включая сам компонент. Т.е. что-то вроде:
Код

    Public Overrides Property BackColor As Color

        Set(ByVal Value As Color)
            clBackColor = Value
            Me.BackColor = clBackColor
        End Set

        Get
            Return clBackColor
        End Get

    End Property
Но в этом случае ругается на рекурсивный вызов свойства, т. е. свойство BackColor вызывает свойство BackColor. Что здесь можно сделать? Цвет фона самого компонента как-то надо установить.

Автор: diadiavova 7.11.2015, 22:22
Вместо Me используй MyBase

Автор: Dumm 7.11.2015, 22:42
Точно! Спасибо.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)