Solved

Question About KeyUp and ListBoxes

Posted on 2009-04-13
8
266 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
Comment Utility
why not use KeyDown ?

mx
0
 
LVL 75

Expert Comment

by:DatabaseMX (Joe Anderson - Access MVP)
Comment Utility
Why are you using the Return key in the List box?
0
 

Author Comment

by:shacho
Comment Utility
>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
 
LVL 75

Accepted Solution

by:
DatabaseMX (Joe Anderson - Access MVP) earned 300 total points
Comment Utility
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
6 Surprising Benefits of Threat Intelligence

All sorts of threat intelligence is available on the web. Intelligence you can learn from, and use to anticipate and prepare for future attacks.

 
LVL 65

Assisted Solution

by:rockiroads
rockiroads earned 200 total points
Comment Utility
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
Comment Utility
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
Comment Utility
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
Comment Utility
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

Complete Microsoft Windows PC® & Mac Backup

Backup and recovery solutions to protect all your PCs & Mac– on-premises or in remote locations. Acronis backs up entire PC or Mac with patented reliable disk imaging technology and you will be able to restore workstations to a new, dissimilar hardware in minutes.

Join & Write a Comment

In the previous article, Using a Critera Form to Filter Records (http://www.experts-exchange.com/A_6069.html), the form was basically a data container storing user input, which queries and other database objects could read. The form had to remain op…
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…
As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). U…
What’s inside an Access Desktop Database. Will look at the basic interface, Navigation Pane (Database Container), Tables, Queries, Forms, Report, Macro’s, and VBA code.

771 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

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now