Public
	Sub AddPaintDC(h As PaintDCEventHandler)
		If IsNothing(paintDC) Then
			paintDC = h
		Else
			paintDC += h
		End If
	End Sub
	Sub RemovePaintDC(h As PaintDCEventHandler)
		If Not IsNothing(paintDC) Then
			paintDC -= h
		End If
	End Sub
Private
	Sub OnPaintDC(e As PaintDCEventArgs)
		If Not IsNothing(paintDC) Then
			paintDC(This, e)
		End If
	End Sub
Private
	paintDC As PaintDCEventHandler

Public
	Sub AddMouseEnter(h As MouseEventHandler)
		If IsNothing(mouseEnter) Then
			mouseEnter = h
		Else
			mouseEnter += h
		End If
	End Sub
	Sub RemoveMouseEnter(h As MouseEventHandler)
		If Not IsNothing(mouseEnter) Then
			mouseEnter -= h
		End If
	End Sub
Private
	Sub OnMouseEnter(e As MouseEventArgs)
		If Not IsNothing(mouseEnter) Then
			mouseEnter(This, e)
		End If
	End Sub
Private
	mouseEnter As MouseEventHandler

Public
	Sub AddMouseMove(h As MouseEventHandler)
		If IsNothing(mouseMove) Then
			mouseMove = h
		Else
			mouseMove += h
		End If
	End Sub
	Sub RemoveMouseMove(h As MouseEventHandler)
		If Not IsNothing(mouseMove) Then
			mouseMove -= h
		End If
	End Sub
Private
	Sub OnMouseMove(e As MouseEventArgs)
		If Not IsNothing(mouseMove) Then
			mouseMove(This, e)
		End If
	End Sub
Private
	mouseMove As MouseEventHandler

Public
	Sub AddMouseHover(h As MouseEventHandler)
		If IsNothing(mouseHover) Then
			mouseHover = h
		Else
			mouseHover += h
		End If
	End Sub
	Sub RemoveMouseHover(h As MouseEventHandler)
		If Not IsNothing(mouseHover) Then
			mouseHover -= h
		End If
	End Sub
Private
	Sub OnMouseHover(e As MouseEventArgs)
		If Not IsNothing(mouseHover) Then
			mouseHover(This, e)
		End If
	End Sub
Private
	mouseHover As MouseEventHandler

Public
	Sub AddMouseLeave(h As MouseEventHandler)
		If IsNothing(mouseLeave) Then
			mouseLeave = h
		Else
			mouseLeave += h
		End If
	End Sub
	Sub RemoveMouseLeave(h As MouseEventHandler)
		If Not IsNothing(mouseLeave) Then
			mouseLeave -= h
		End If
	End Sub
Private
	Sub OnMouseLeave(e As MouseEventArgs)
		If Not IsNothing(mouseLeave) Then
			mouseLeave(This, e)
		End If
	End Sub
Private
	mouseLeave As MouseEventHandler

Public
	Sub AddMouseDown(h As MouseEventHandler)
		If IsNothing(mouseDown) Then
			mouseDown = h
		Else
			mouseDown += h
		End If
	End Sub
	Sub RemoveMouseDown(h As MouseEventHandler)
		If Not IsNothing(mouseDown) Then
			mouseDown -= h
		End If
	End Sub
Private
	Sub OnMouseDown(e As MouseEventArgs)
		If Not IsNothing(mouseDown) Then
			mouseDown(This, e)
		End If
	End Sub
Private
	mouseDown As MouseEventHandler

Public
	Sub AddMouseClick(h As MouseEventHandler)
		If IsNothing(mouseClick) Then
			mouseClick = h
		Else
			mouseClick += h
		End If
	End Sub
	Sub RemoveMouseClick(h As MouseEventHandler)
		If Not IsNothing(mouseClick) Then
			mouseClick -= h
		End If
	End Sub
Private
	Sub OnMouseClick(e As MouseEventArgs)
		If Not IsNothing(mouseClick) Then
			mouseClick(This, e)
		End If
	End Sub
Private
	mouseClick As MouseEventHandler

Public
	Sub AddMouseDoubleClick(h As MouseEventHandler)
		If IsNothing(mouseDoubleClick) Then
			mouseDoubleClick = h
		Else
			mouseDoubleClick += h
		End If
	End Sub
	Sub RemoveMouseDoubleClick(h As MouseEventHandler)
		If Not IsNothing(mouseDoubleClick) Then
			mouseDoubleClick -= h
		End If
	End Sub
Private
	Sub OnMouseDoubleClick(e As MouseEventArgs)
		If Not IsNothing(mouseDoubleClick) Then
			mouseDoubleClick(This, e)
		End If
	End Sub
Private
	mouseDoubleClick As MouseEventHandler

Public
	Sub AddMouseUp(h As MouseEventHandler)
		If IsNothing(mouseUp) Then
			mouseUp = h
		Else
			mouseUp += h
		End If
	End Sub
	Sub RemoveMouseUp(h As MouseEventHandler)
		If Not IsNothing(mouseUp) Then
			mouseUp -= h
		End If
	End Sub
Private
	Sub OnMouseUp(e As MouseEventArgs)
		If Not IsNothing(mouseUp) Then
			mouseUp(This, e)
		End If
	End Sub
Private
	mouseUp As MouseEventHandler

Public
	Sub AddKeyDown(h As KeyEventHandler)
		If IsNothing(keyDown) Then
			keyDown = h
		Else
			keyDown += h
		End If
	End Sub
	Sub RemoveKeyDown(h As KeyEventHandler)
		If Not IsNothing(keyDown) Then
			keyDown -= h
		End If
	End Sub
Private
	Sub OnKeyDown(e As KeyEventArgs)
		If Not IsNothing(keyDown) Then
			keyDown(This, e)
		End If
	End Sub
Private
	keyDown As KeyEventHandler

Public
	Sub AddKeyUp(h As KeyEventHandler)
		If IsNothing(keyUp) Then
			keyUp = h
		Else
			keyUp += h
		End If
	End Sub
	Sub RemoveKeyUp(h As KeyEventHandler)
		If Not IsNothing(keyUp) Then
			keyUp -= h
		End If
	End Sub
Private
	Sub OnKeyUp(e As KeyEventArgs)
		If Not IsNothing(keyUp) Then
			keyUp(This, e)
		End If
	End Sub
Private
	keyUp As KeyEventHandler

Public
	Sub AddCreate(h As CreateEventHandler)
		If IsNothing(create) Then
			create = h
		Else
			create += h
		End If
	End Sub
	Sub RemoveCreate(h As CreateEventHandler)
		If Not IsNothing(create) Then
			create -= h
		End If
	End Sub
Private
	Sub OnCreate(e As CreateEventArgs)
		If Not IsNothing(create) Then
			create(This, e)
		End If
	End Sub
Private
	create As CreateEventHandler

