コンピューターのロックから回復するとき、ファンクションキーボタンが表示されない場合がある
対象製品
PlusPak for Windows Forms 7.0J
状況
修正済み
詳細
Ctrl+Alt+Delを押してコンピューターのロックを選択し、後にロックを解除したとき、GcFunctionKeyコントロール上のボタンが表示されなくなる場合があります。
本現象は、CombinationKeyDisplayModeプロパティが"Dynamic"の場合のみ発生します。Ctrl+Alt+Delを押下する際、修飾キーを使用しないファンクションキーボタンは非表示になり、またシステムがロック状態ではKeyUpのメッセージを取得することができないため現象が発生してしまいます。
本現象は、CombinationKeyDisplayModeプロパティが"Dynamic"の場合のみ発生します。Ctrl+Alt+Delを押下する際、修飾キーを使用しないファンクションキーボタンは非表示になり、またシステムがロック状態ではKeyUpのメッセージを取得することができないため現象が発生してしまいます。
回避方法
この問題はService Pack 2(v7.0.2014.0423)で修正されました。
不具合を修正した最新のサービスパックは、アップデートページ からダウンロードできます。
また、以下のいずれかの方法で現象を回避できます。
ファンクションキーボタンの表示を修飾キーでフィルタリングしない場合は、CombinationKeyDisplayModeプロパティを"Always"に設定してください。
CombinationKeyDisplayModeプロパティを"Dynamic"に設定するときは、フォームに下記の回避コードを追加してください。
不具合を修正した最新のサービスパックは、アップデートページ からダウンロードできます。
また、以下のいずれかの方法で現象を回避できます。
ファンクションキーボタンの表示を修飾キーでフィルタリングしない場合は、CombinationKeyDisplayModeプロパティを"Always"に設定してください。
CombinationKeyDisplayModeプロパティを"Dynamic"に設定するときは、フォームに下記の回避コードを追加してください。
[VB]
Private actived As Boolean = False
Protected Overloads Overrides Sub OnActivated(ByVal e As EventArgs)
actived = True
MyBase.OnActivated(e)
End Sub
Protected Overloads Overrides Sub OnPaint(ByVal e As PaintEventArgs)
MyBase.OnPaint(e)
If actived Then
actived = False
Me.GcFunctionKey1.UpdateFunctionKeys()
End If
End Sub
Private actived As Boolean = False
Protected Overloads Overrides Sub OnActivated(ByVal e As EventArgs)
actived = True
MyBase.OnActivated(e)
End Sub
Protected Overloads Overrides Sub OnPaint(ByVal e As PaintEventArgs)
MyBase.OnPaint(e)
If actived Then
actived = False
Me.GcFunctionKey1.UpdateFunctionKeys()
End If
End Sub
[C#]
bool actived = false;
protected override void OnActivated(EventArgs e)
{
actived = true;
base.OnActivated(e);
}
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
if (actived)
{
actived = false;
this.gcFunctionKey1.UpdateFunctionKeys();
}
}
bool actived = false;
protected override void OnActivated(EventArgs e)
{
actived = true;
base.OnActivated(e);
}
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
if (actived)
{
actived = false;
this.gcFunctionKey1.UpdateFunctionKeys();
}
}
キーワード
PPWI07641