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] 삭제
몇 마디 만하겠습니다