2011-01-20 15 views
0

私はkeypreviewtrueの形をしています。 OnKeyPress(キーがエスケープされている場合)フォームを閉じていました。フォームのテキストボックスにオートコンプリートがある場合、onKeyPressイベントは機能しませんか?

後でフォームの最初のテキストボックスにautocompleteを設定します。オートコンプリートは機能していますが、OnKeyPressイベントは現在機能していません。カーソルがオートコンプリートのテキストボックスにない場合OnKeyPressが動作し、エスケープキーでフォームを閉じます。

どうすれば両方のことができるのか教えてください。​​3210エスケープ時に終了フォーム。

答えて

2

あなたのアプリケーションでは、フォーム上のコントロールが自分自身でOnKeyPressを処理できるため、フォームイベントを使用しないでください。ホットキーを登録する必要があります。

[DllImport("user32.dll")] 
private static extern bool RegisterHotKey (int hwnd, int id, int fsModifiers, int vk); 

[DllImport("user32.dll")] 
private static extern bool UnregisterHotKey (int hwnd, int id); 

hereまたはhere

を参照してください。
関連する問題