2010年3月19日金曜日

.NET LinkLabelのTabStopを表示する

LinkLabelのTabStopプロパティはプロパティウインドウにもインテリセンスにも表示されません。
インテリセンスには表示されませんが無視してLinkLabel1.TabStop=Falseとコードで記述すれば、フォーカスされなくなります。

それでもデザイナで設定したいときはLinkLabelを継承したカスタムコントロールを作成します。
Imports System.ComponentModel
Public Class CsLinkLabel
    Inherits System.Windows.Forms.LinkLabel

    Private _TabStop As Boolean = False

    <DefaultValue(False), Browsable(True), EditorBrowsable(EditorBrowsableState.Always), Category("動作")> _
     Public Shadows Property TabStop() As Boolean
        Get
            Return Me._TabStop
        End Get
        Set(ByVal value As Boolean)
            Me._TabStop = value
            MyBase.TabStop = Me._TabStop
        End Set
    End Property

    Protected Overrides Sub OnHandleCreated(ByVal e As System.EventArgs)
        MyBase.OnHandleCreated(e)
        MyBase.TabStop = Me._TabStop
    End Sub

End Class