Solved

Question About KeyUp and ListBoxes

Posted on 2009-04-13
8
267 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
 
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
Backup Your Microsoft Windows Server®

Backup all your Microsoft Windows Server – on-premises, in remote locations, in private and hybrid clouds. Your entire Windows Server will be backed up in one easy step with patented, block-level disk imaging. We achieve RTOs (recovery time objectives) as low as 15 seconds.

 
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

Comprehensive Backup Solutions for Microsoft

Acronis protects the complete Microsoft technology stack: Windows Server, Windows PC, laptop and Surface data; Microsoft business applications; Microsoft Hyper-V; Azure VMs; Microsoft Windows Server 2016; Microsoft Exchange 2016 and SQL Server 2016.

Question has a verified solution.

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

When you are entering numbers in a speadsheet, and don't remember what 6×7 is, you just type “=6*7" instead. It works in every cell! This is not so in Access. To enter the elusive 42 in a text box, you have to find a calculator, and then copy the re…
In the article entitled Working with Objects – Part 1 (http://www.experts-exchange.com/Microsoft/Development/MS_Access/A_4942-Working-with-Objects-Part-1.html), you learned the basics of working with objects, properties, methods, and events. In Work…
Familiarize people with the process of utilizing SQL Server views from within Microsoft Access. Microsoft Access is a very powerful client/server development tool. One of the SQL Server objects that you can interact with from within Microsoft Access…
Using Microsoft Access, learn some simple rules for how to construct tables in a relational database. Split up all multi-value fields into single values: Split up fields that belong to other things into separate tables: Make sure that all record…

932 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

8 Experts available now in Live!

Get 1:1 Help Now