Form.CancelButtonをButtonコントロールに割り当てていてもMultiRowにフォーカスがあるとEscキーが無効になる
対象製品
MultiRow for Windows Forms 7.0J
状況
修正済み
詳細
フォームのCancelButtonプロパティでキャンセルボタンを設定した場合、フォーカスがMultiRowコントロールにある状態でEscキーを押下してもフォームが閉じません。
回避方法
この問題はService Pack 4(v7.0.2016.0428)で修正されました。
不具合を修正した最新のサービスパックは、アップデートページ からダウンロードできます。
Service Pack 4より前のバージョンでは次の方法で回避可能です。
次の手順で示すように、IsInputKeyメソッドをオーバーライドしたGcMultiRow継承コントロールを使用します。
1.プロジェクトに新規のクラス(MyMultiRow)を追加して、下記のコードを記述する。
2.プロジェクトをビルドする。
3.ビルドで出来たMyMultiRowをフォームに追加して使用する。
[Visual Basic]
Public Class MyMultiRow
Inherits GrapeCity.Win.MultiRow.GcMultiRow
Protected Overrides Function IsInputKey(keyData As Keys) As Boolean
If (keyData = Keys.Escape) Then
Return False
End If
Return MyBase.IsInputKey(keyData)
End Function
End Class
[C#]
class MyMultiRow : GrapeCity.Win.MultiRow.GcMultiRow
{
protected override bool IsInputKey(Keys keyData)
{
if ((keyData == Keys.Escape))
{
return false;
}
return base.IsInputKey(keyData);
}
}
不具合を修正した最新のサービスパックは、アップデートページ からダウンロードできます。
Service Pack 4より前のバージョンでは次の方法で回避可能です。
次の手順で示すように、IsInputKeyメソッドをオーバーライドしたGcMultiRow継承コントロールを使用します。
1.プロジェクトに新規のクラス(MyMultiRow)を追加して、下記のコードを記述する。
2.プロジェクトをビルドする。
3.ビルドで出来たMyMultiRowをフォームに追加して使用する。
[Visual Basic]
Public Class MyMultiRow
Inherits GrapeCity.Win.MultiRow.GcMultiRow
Protected Overrides Function IsInputKey(keyData As Keys) As Boolean
If (keyData = Keys.Escape) Then
Return False
End If
Return MyBase.IsInputKey(keyData)
End Function
End Class
[C#]
class MyMultiRow : GrapeCity.Win.MultiRow.GcMultiRow
{
protected override bool IsInputKey(Keys keyData)
{
if ((keyData == Keys.Escape))
{
return false;
}
return base.IsInputKey(keyData);
}
}
キーワード
MLTR11162