作成日: 2024/01/19 最終更新日: 2024/01/31
文書種別
制限事項
状況
回避方法あり
詳細
下記の条件でGcFunctionKeyコントロールを使用していると、キー操作でFunctionKeyDownイベントが発生しなくなります。
- Form1の中に別のForm2を表示している
- Form2のTopLevelプロパティをFalseにしている
- Form2にGcFunctionKeyを配置している
上記は、以下のコードのような方法でフォームを表示している場合になります。
◎サンプルコード(VB)
Dim f2 As New Form2()
f2.TopLevel = False
Me.Controls.Add(f2)
f2.Show()
本動作は製品の制限事項になります。上記の条件の場合、ActiveFormを正しく判定することができないため、キー操作でFunctionKeyDownイベントが発生しません。
回避方法
フォーム内に別のフォームを表示させる場合は、MDIフォームの利用をご検討ください。
以下のように、親フォーム(Form1)のIsMdiContainerプロパティをTrueにし、子フォーム(Form2)のMdiParentプロパティを設定します。この場合は、Form2に配置したGcFunctionKeyコントロールのFunctionKeyDownイベントが発生します。
◎サンプルコード(VB)
Dim f2 As New Form2()
f2.TopLevel = False
'Me.Controls.Add(f2)
Me.IsMdiContainer = True
f2.MdiParent = Me
f2.Show()