私はおそらく完全にあなたは、このように派生クラスでイベントを非表示にすることができ、このようなプログラミングの問題を解決することは推奨されていない感じが:
フォーム上で次に
Partial Class MyLabel
Inherits System.Windows.Forms.Label
Public Shadows Event Paint As PaintEventHandler
End Class
:
Public Class Form1
Private Sub Label1_Paint(ByVal sender As System.Object, ByVal e As _
System.Windows.Forms.PaintEventArgs) Handles Label1.Paint
MsgBox("normal label") '**called
End Sub
Private Sub MyLabel1_Paint(ByVal sender As System.Object, ByVal e As _
System.Windows.Forms.PaintEventArgs) Handles MyLabel1.Paint
MsgBox("my label") '**not called
End Sub
End Class
ザ・上記のコードは1つのメッセージボックスのみを表示します。ユーザーはPaintイベントハンドラにコードを追加できますが、呼び出されることはありません。ペイントハンドラのコードが使用されるように、新しいビヘイビアを実装することもできますが、設計した新しい方法でのみ、ベースクラスの実装を完全に隠す必要があります。
呼び出すべきではないイベントを定義できますか? – Steve