履歴リストをAlt+F4キーを押して閉じると、次回履歴リストを開いたときに例外が発生する
対象製品
InputMan for .NET 4.0J Windows Forms Edition
発生環境
動作環境と同じ
状況
修正済み
詳細
この問題はEditコントロールで発生します。履歴リストをAlt+F4で閉じた後に再度開こうとするとSystem.ObjectDisposedExceptionが発生します。
回避方法
不具合を修正した2007/10/31版をご使用ください。
最新修正版は、このサイトのアップデートページからダウンロードできます。
または、Edit.DropDownEdit.KeyDownイベントをハンドルし、Alt+F4キーを無視するように実装します。(これによりコンボコントロールのドロップダウンリストなどと同様の動作になります。)
[Visual Basic]
Private Sub Edit1_DropDownEdit_KeyDown( ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) _
Handles Edit1.DropDownEdit.KeyDown
If e.Alt And ( e.KeyCode = Keys.F4 )Then
'Alt + F4が押された場合について、キー入力を無効にします
e.Handled = True
End If
End Sub
[C#]
public Form1()
{
InitializeComponent();
edit1.DropDownEdit.KeyDown += new KeyEventHandler( edit1_DropDownEdit_KeyDown );
}
private void edit1_DropDownEdit_KeyDown( object sender, KeyEventArgs e )
{
if( e.Alt && ( e.KeyCode == Keys.F4 ) )
{
//Alt + F4が押された場合について、キー入力を無効にします
e.Handled = true;
}
}
最新修正版は、このサイトのアップデートページからダウンロードできます。
または、Edit.DropDownEdit.KeyDownイベントをハンドルし、Alt+F4キーを無視するように実装します。(これによりコンボコントロールのドロップダウンリストなどと同様の動作になります。)
[Visual Basic]
Private Sub Edit1_DropDownEdit_KeyDown( ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) _
Handles Edit1.DropDownEdit.KeyDown
If e.Alt And ( e.KeyCode = Keys.F4 )Then
'Alt + F4が押された場合について、キー入力を無効にします
e.Handled = True
End If
End Sub
[C#]
public Form1()
{
InitializeComponent();
edit1.DropDownEdit.KeyDown += new KeyEventHandler( edit1_DropDownEdit_KeyDown );
}
private void edit1_DropDownEdit_KeyDown( object sender, KeyEventArgs e )
{
if( e.Alt && ( e.KeyCode == Keys.F4 ) )
{
//Alt + F4が押された場合について、キー入力を無効にします
e.Handled = true;
}
}
キーワード
INMN06378
この文書は、以前は次のバグレポートIDで公開されていました : 7178