문제

양식 디자이너를 개발하고 표준 컨트롤과 같은 버튼에서 상속되는 사용자 정의 컨트롤도 개발합니다.

또한, 예를 들어 사용자가 먼저 부서를 선택한 다음 사람을 선택 해야하는 속성이 있습니다. 그리고 사용자 선택 담당자 후에는 사용자 정의 컨트롤 텍스트를 설정했습니다 (이 경우 버튼에서 물려받은).
참고 : 사용자는 텍스트 속성을 변경할 수 있습니다.

모든 것이 올바르게 작동하지만 DB에서로드하거나 컨트롤을 드래그 앤 드롭 제어하여 디자이너, ControlName# 세트의 텍스트를 형성합니다.

텍스트 속성을 무시하고 디버그 한 후 텍스트가 올바르게 설정되어 있지만 텍스트를 설정 한 후 디자이너는 컨트롤#을 사용하여 텍스트를 설정했습니다.

이 소품을 해결하는 방법은 무엇입니까?

미리 감사드립니다
하미드

도움이 되었습니까?

해결책

다음과 같은 속성에 적용 할 수있는 속성이 있습니다. ReadOnly 그것은 디자이너가 당신의 부동산을 설정하는 것을 막을 것입니다.

현재 링크를 찾을 수는 없지만 Forms Designer에게 특정 순서로 속성을 설정해야한다고 말하는 방법도 있습니다.


편집하다:

좋아, 내가 그것을 기억했던 것만은 아니지만 나는 isupportinitialize 상호 작용.

같은 것 :

Public Class Test
    Implements ISupportInitalise

    private _numberOne as integer
    private _numberTwo as integer
    private _initalised as boolean

    Public Property NumberOne() as Integer
        Get
            return _numberOne
        End Get
        Set(value as Integer)

            if _initalised then
                'perform checks here'
            end if

            _numberOne = value 
        End Set
    End Property

    Public Property NumberTwo() as Integer
        Get
            return _numberTwo
        End Get
        Set(value as IntegeR)
            if _initalised then
                'perform checks here'
            end if

            _numberTwo = value 
        End Set
    End Property

    Public Sub BeginInit Implements ISupportInitalise.BeginInit
        _initalised = false
    End Sub

    Public Sub EndInit Implements ISupportInitalise.EndInit
        _initalised = true

        'perform all checks here'
    End Sub

End Class

이렇게하면 객체가 완전히 초기화 될 때까지 모든 검사를 비활성화 할 수 있습니다.

다른 팁

당신은 당신의 재정의를 확인할 수 있습니다 Text 세터가 설정되어 있는지 여부 controlName# 그리고 그렇다면 아무것도하지 않습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top