■ 現在のこのページの役立ち度:
表示されない場合こちらのリンクからもご覧になれます。
■ このページの役立ち度を評価する:
役立ち度を評価してください。
(1(左):あまり役立たない - 5(右):大変役立った):
■ ページの共有:
[ サイト内検索 ]
カスタム検索
#5755-0KeyDown,KeyUp,KeyPressについて石川2002-03-07(木) 17:30
     #5757-0RE#5755:KeyDown,KeyUp,KeyPressについて匿名57572002-03-07(木) 17:35
     #5759-0RE#5757:KeyDown,KeyUp,KeyPressについて匿名57592002-03-07(木) 17:38
     #5764-0RE#5759:KeyDown,KeyUp,KeyPressについて石川2002-03-07(木) 18:00
#5755-0
KeyDown,KeyUp,KeyPressについて
皆さん、こんにちは。MSFlexGridとTextBoxのキーイベントについて教えてください。
キーを押下した時、KeyDown,KeyUp,KeyPressの一体どのイベントに通知がくるのでしょうか?

TextBoxを利用して、MSFlexGridのセルにデータを入れる処理を考えています。
Pressで入力文字のチェック、リターンキーで確定、という処理です。

キー入力の通知が、KeyDownに来たり、KeyPress来たりして安定しません。
KeyDownだとまずいのかと思い、KeyUpに変更してもダメです。

どうかよろしくお願いします。
#5757-0
RE#5755:KeyDown,KeyUp,KeyPressについて
> キー入力の通知が、KeyDownに来たり、KeyPress来たりして安定しません。
> KeyDownだとまずいのかと思い、KeyUpに変更してもダメです。

どちらにも来ます。
KeyDown→KeyPress
の順番です。
Debug.Print を使用して、イベント発生の流れを見てみるのも面白いですよ。
#5759-0
RE#5757:KeyDown,KeyUp,KeyPressについて
> どちらにも来ます。
> KeyDown→KeyPress
> の順番です。

KeyDown イベントの中で長い処理を行うと、
KeyPress イベントが発生しない場合があります。

参考までに。
#5764-0
RE#5759:KeyDown,KeyUp,KeyPressについて
匿名5757さん、匿名5759さん、素早いレスをありがとうございます。

> KeyDown→KeyPress
> の順番です。
> Debug.Print を使用して、イベント発生の流れを見てみるのも面白いですよ。

早速確認してみました。
でも、なんでKeyPressの方に来たりこなかったりしていたのか?
と思っていたところ、

> KeyDown イベントの中で長い処理を行うと、
> KeyPress イベントが発生しない場合があります。

のレスで解決したように思えます。
Debug.Printの存在をすっかり忘れていて、ブレークポイントで確認していました。
KeyDownで止めていたりしたので、KeyPressに来なかったようです。

なるべくKeyDown処理を軽くして、主な処理をKeyPress処理(文字入力チェックなど)で行うようにします。
お二人ともありがとうございました。
お探しの情報は見つかりましたか?お困りの問題は解決しましたか?
サイト内検索, 似た記事検索で見つからなくてもあきらめずに掲示板で質問してみましょう。
VB初心者友の会があなたのお役に立てれば幸いです。また、本ページの投稿者の方々にこの場を借りて感謝致します。
本ページは過去ログを集めて自動構成しています。よろしければこのページに関するフィードバックをお願いします。
(※ 構成の誤り、広告等の不適切な記事、リンク切れ、読めないページの報告など)