2011年8月5日金曜日

NetAdvantageのTextEditorのコントロール名を取得する

あるコントロールにフォーカスがあるときに何らかのキーを押すと,フォーカスが移動するとかいう機能はよく必要になりますが,NetAdvantageのTextEditorのコントロール名を取得するときはちょっと気をつける点があります。
このコントロールは親コントロールにコントロール名が収納されているため、コントロール名はControl.Parent.Nameから取得できます。普通にControl.Nameでは取得できません。
最初このことを知らずに長い時間を費やしてしまいました。
以下はF12を押した際にアクティブコントロール名を取得するコード例です。


'UltraTextEditorのコントロール名取得

Select Case e.KeyCode

    Case Keys.F12

        Dim controlName As String = Nothing

        If ActiveControl.Parent.Name = Me.Name Then
            '親コントロールのコントロール名が取得できない場合(普通のコントロール)
            controlName = ActiveControl.Name
        Else
            '親コントロールのコントロール名が取得できる場合
            controlName = ActiveControl.Parent.Name
        End If

        MsgBox("Active: " & controlName)

End Select

0 件のコメント:

コメントを投稿