ファンクションキーとタブキーを併用するには?

解決


mnemonic  2007-10-30 21:47:54  No: 99638  IP: 192.*.*.*

はじめまして。

ファンクションキーを割り当てたらタブキーでのテキストボックスの移動が効かなくなってしまいました。もしどなたかわかる方がおりましたらご教授ください。

環境はXPSP2 VB.NETです。

編集 削除
魔界の仮面弁士  2007-10-30 22:35:08  No: 99639  IP: 192.*.*.*

> ファンクションキーを割り当てたら

ファンクションキーを、「何に」「どうやって」割り当てたのでしょうか?

編集 削除
mnemonic  2007-10-31 10:20:11  No: 99640  IP: 192.*.*.*

説明不足で失礼しました。ファンクションキーにボタンを割り当ててオーバーライドしてみました。受け取り方がまずいのでしょうか!?

Private FKEY_SSEAL_PRINT As String = "F1"
    Private FKEY_HSEAL_PRINT As String = "F2"
    Private FKEY_SONZAI_MST As String = "F3"
    Private FKEY_END As String = "F5"

Protected Overrides Function ProcessDialogKey(ByVal keyData As System.Windows.Forms.Keys) As Boolean
        If keyData.ToString = FKEY_SSEAL_PRINT Then
            Dim nextForm As New frmSSealPrint
            btnMenuClick(nextForm)
        ElseIf keyData.ToString = FKEY_HSEAL_PRINT Then
            Dim nextForm As New frmHSealPrint
            btnMenuClick(nextForm)
        ElseIf keyData.ToString = FKEY_SONZAI_MST Then
            Dim passForm As New frmDialogPass
            passForm.ShowDialog()
            If passForm.result Then
                Dim nextForm As New frmMSonzai
                btnMenuClick(nextForm)
            End If
        ElseIf keyData.ToString = FKEY_END Then
            Environment.Exit(0)
        End If
    End Function

編集 削除
魔界の仮面弁士  2007-10-31 11:53:30  No: 99641  IP: 192.*.*.*

『Return MyBase.ProcessDialogKey(keyData)』を書き忘れていますよ。

「ファンクションキーを受けとった時の処理」は実装していますが、
それ以外のキーを受け取ったときの処理を、何も実装していませんよね。
そのため、キー入力が握りつぶされてしまっているのでしょう。

編集 削除
mnemonic  2007-10-31 14:56:38  No: 99642  IP: 192.*.*.*

魔界の仮面弁士さん、ご親切にありがとうございました!

初歩的なミスに言葉もでません。。
まだVBを初めて2週間で実践にいるもので焦ってました。
またよろしくお願いします。

編集 削除