Visual Basic 2010 Express を使用しています。NumericUpDown コントロールをフォームに追加すると、イベントのプロパティ リストに MouseMove イベントが表示されません。私はそれが存在することを知っており、AddHandler を使用してそのハンドラーを作成できますが、表示されません。インテリセンスのリストにも表示されません。
含まれるように Visual Studio を「更新」する方法はありますか?
Visual Basic 2010 Express を使用しています。NumericUpDown コントロールをフォームに追加すると、イベントのプロパティ リストに MouseMove イベントが表示されません。私はそれが存在することを知っており、AddHandler を使用してそのハンドラーを作成できますが、表示されません。インテリセンスのリストにも表示されません。
含まれるように Visual Studio を「更新」する方法はありますか?
継承元の UpDownBase コントロールのソース コードから:
[EditorBrowsable(EditorBrowsableState.Never)]
[Browsable(false)]
public new event MouseEventHandler MouseMove
マイクロソフトは公開しないことを決定しました。その理由は、そのコントロールで MouseMove イベントを処理しても意味がないからだと思います。これは、TextBox といくつかのボタンで構成される複合コントロールです。
そのイベントを公開することが重要な場合は、NumericUpDown コントロールから継承して、自分でイベントを公開する必要があります。
public class MyUpDown : NumericUpDown {
[Browsable(true)]
[EditorBrowsable(EditorBrowsableState.Always)]
public new event MouseEventHandler MouseMove {
add { base.MouseMove += value; }
remove { base.MouseMove -= value; }
}
}
そしてVB.Netバージョン:
Public Class MyUpDown
Inherits NumericUpDown
<Browsable(True)> _
<EditorBrowsable(EditorBrowsableState.Always)> _
Public Shadows Event MouseMove(sender As Object, e As MouseEventArgs)
Protected Overrides Sub OnMouseMove(e As MouseEventArgs)
MyBase.OnMouseMove(e)
RaiseEvent MouseMove(Me, e)
End Sub
End Class