VB.NET for WinForms에서 BackgroundImage 속성없이 사용자 지정 스크롤 가능한 사용자 컨트롤을 만드는 방법

크라 앙 프라임

BackgroundImage 속성을 포함하지 않는 사용자 지정 사용자 정의 컨트롤을 만들고 싶습니다.

다른 컨트롤을 상속하는 컨트롤을 생성 한 다음 공용 속성을 제거 할 수 없다는 것을 이해합니다 (어쨌든 작동하는 솔루션이 없음). 그러나 다음 코드가 있습니다.

Public Class Board

End Class

다른 컨트롤을 "상속"하지 않더라도 여전히 갖고 싶지 않은 많은 속성이 있습니다. 포함하고 싶지 않은 속성을 포함하지 않는 Visual Basic 6을 사용하여 100 % 사용자 지정 컨트롤을 만들 수있었습니다.

VB.NET 2012에서 동일한 목표를 어떻게 달성 할 수 있습니까 (VB6 또는 "날짜"코드를 사용하지 않고)

이 속성이없는 컨트롤을 설계 한 적이 있으므로 가능하다고 가정 할 수만 있습니다. 주제에 대한 문서가없고 이와 유사한 주제는 흐릿하거나 작동하지 않습니다.

한스 파산 트

컨트롤을 구현하려면 Control 클래스를 상속해야합니다. 물론 많은 속성을 가지고 있으며 .NET 컨트롤은 VB6 컨트롤보다 훨씬 더 많은 기능을 가지고 있습니다. 당황 할 필요가 없습니다 . 속성 숨기려면 속성을 사용합니다.

Imports System.ComponentModel

Public Class MyControl
    Inherits ScrollableControl

    <Browsable(False), EditorBrowsable(EditorBrowsableState.Never)> _
    Public Overrides Property BackgroundImage As Image
        Get
            Return MyBase.BackgroundImage
        End Get
        Set
            MyBase.BackgroundImage = value
        End Set
    End Property

End Class

클라이언트 프로그래머가 속일 수 없도록 강제하려면 PaintBackground () 메서드도 재정의합니다.

Protected Overrides Sub OnPaintBackground(pevent As PaintEventArgs)
    pevent.Graphics.Clear(Me.BackColor)
End Sub

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관