Solved

Question About KeyUp and ListBoxes

Posted on 2009-04-13
8
268 Views
Last Modified: 2013-11-28
I have a list box that is being monitored for key events.  When I tab to the list box I can use the arrow keys to select a record.  With a record selected, I want to trigger an action when the Return key is pushed.  The event does not fire on the first push; it fires on the second.  Why is this?

Mike

0
Comment
Question by:shacho
  • 4
  • 2
  • 2
8 Comments
 
LVL 75

Assisted Solution

by:DatabaseMX (Joe Anderson - Access MVP)
DatabaseMX (Joe Anderson - Access MVP) earned 300 total points
ID: 24134513
why not use KeyDown ?

mx
0
 
LVL 75
ID: 24134543
Why are you using the Return key in the List box?
0
 

Author Comment

by:shacho
ID: 24134907
>why not use KeyDown ?
Tried KeyDown.  It works.  But why should KeyDown work on the first Enter and not KeyUp?
I chose KeyUp because I figured it was good policy to run code after key events were concluded
and KeyUp should logically run after KeyDown.

>Why are you using the Return key in the List box?
The listbox is a search results list.  I want people who prefer to use the keyboard over the mouse
to be able to launch the viewer for the selected record with the Return key in case they don't want
to double-click.

Mike
0
The Eight Noble Truths of Backup and Recovery

How can IT departments tackle the challenges of a Big Data world? This white paper provides a roadmap to success and helps companies ensure that all their data is safe and secure, no matter if it resides on-premise with physical or virtual machines or in the cloud.

 
LVL 75

Accepted Solution

by:
DatabaseMX (Joe Anderson - Access MVP) earned 300 total points
ID: 24134935
Not sure why Key Down works over Key Up ... but it's still a valid event ... and for most applications I can think of, that is what I use. Actually on my test for, Key Up works on the first time.  However ... if nothing is selected and I tab into the list box ... and hit down arrow ... it selects the first item ... and so on.  BUT ... if I hit Enter at any time ... it goes to the next control in the tab order!

mx
0
 
LVL 65

Assisted Solution

by:rockiroads
rockiroads earned 200 total points
ID: 24135272
the difference I thought was

keydown - user presses a key
keyup - user releases a key

so explains why keydown gets called first, as you have concluded yourself.

But it doesnt need two pushes, unless maybe you have caught it elsewhere first?
Have you a form capture event?

I for one prefer the use of keypress but thats not going to answer your question now is it, lol.
0
 
LVL 75

Assisted Solution

by:DatabaseMX (Joe Anderson - Access MVP)
DatabaseMX (Joe Anderson - Access MVP) earned 300 total points
ID: 24135282
However ... Keypress does not catch all codes ...

Yes ... sure, that is the difference between the two ...

mx
0
 
LVL 65

Assisted Solution

by:rockiroads
rockiroads earned 200 total points
ID: 24135318
no, though it does catch return key but if you want to catch the use of shift, ctrl etc then you have to use the other key events.
0
 

Author Comment

by:shacho
ID: 24165021
Well, I'm gonna chalk it up to plain old bugginess because I think KeyUp should work.  Thanks for your suggestions.

Cheers,

Mike
0

Featured Post

Enterprise Mobility and BYOD For Dummies

Like “For Dummies” books, you can read this in whatever order you choose and learn about mobility and BYOD; and how to put a competitive mobile infrastructure in place. Developed for SMBs and large enterprises alike, you will find helpful use cases, planning, and implementation.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Regardless of which version on MS Access you are using, one of the harder data-entry forms to create is one where most data from previous entries needs to be appended to new records, especially when there are numerous fields and records involved.  W…
I originally created this report in Crystal Reports 2008 where there is an option to underlay sections. I initially came across the problem in Access Reports where I was unable to run my border lines down through the entire page as I was using the P…
In Microsoft Access, learn how to use Dlookup and other domain aggregate functions and one method of specifying a string value within a string. Specify the first argument, which is the expression to be returned: Specify the second argument, which …
In Microsoft Access, when working with VBA, learn some techniques for writing readable and easily maintained code.

809 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question