473,794 Members | 2,983 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Arrow Keys

How can you detect when an arrow key gets pressed? Doesn't seem to trigger
a KeyPress or KeyDown event. Thanks.

Jerry
Nov 21 '05
11 2810
I spoke too soon. It makes sense, but it doesn't seem to work.

I created the new class and replaced my New statement with the new class,
but the IsInputKey function in the subclass never gets called - I get the
same behavior. No arrows.

These controls are in a panel control. Do I have to subclass that guy? Is
it absorbing the keystrokes? Or do I have to subclass each of the child
controls (checkboxes and labels) on the new usercontrol and do the same
thing with them? This just seems so much more complicated that it should
be, just to capture an arrow key press.

Thanks.

Jerry

"Rlrcstr" <rl*****@msn.co m> wrote in message
news:uS******** ******@TK2MSFTN GP14.phx.gbl...
Makes perfect sense. Thanks.

Jerry
"Some Guy" <my*****@there. com> wrote in message
news:11******** *****@corp.supe rnews.com...
Yes, not hard. You don't even have to create a library to do it.
Public Class UserControl1
Inherits System.Windows. Forms.UserContr ol

Public Sub New()
Mybase.New()
End Sub

Protected Overrides Function IsInputKey(ByVa l keyData As
System.Windows. Forms.Keys) As Boolean
IsInputKey = True
End Function

End Class
Your form:

Dim Withevents myControl as UserControl1

mycontrol.Paren t = '-- Whatever
myControl.Locat ion = '-- Wherever
myControl.Size = '-- Whatever
"Rlrcstr" <rl*****@msn.co m> wrote in message
news:Or******** **********@TK2M SFTNGP14.phx.gb l...
I started to read something about that. How can you do that with a
control that is instantiated dynamically? Or do I have to create my own
subclass?

Thanks.

Jerry
"Some Guy" <my*****@there. com> wrote in message
news:11******** *****@corp.supe rnews.com...
Override IsInputKey

Protected Overrides Function IsInputKey(ByVa l keyData As
System.Windows. Forms.Keys) As Boolean
IsInputKey = True
End Function

"Rlrcstr" <rl*****@msn.co m> wrote in message
news:ur******** ******@tk2msftn gp13.phx.gbl...
> It's a usercontrol inside a scrollable panel container inside another
> usercontrol.
>
> I'm creating the inner usercontrols dynamically and then allowing the
> user to scroll through as many as have been created. Kinda like a
> listbox forthe usercontrols.
>
> I originally tried actually using an ownerdraw listbox - it has a
> controls collection - but it also has issues displaying controls when
> scrolling, so I decided to create my own.
>
> I'm very close but I still have to main issues and one of them is that
> I'm not getting the KeyDown trigger when an arrow is pressed. I don't
> understand why I would get other KeyDown events and not the arrows.
> It's strange seems that I get every other key. I even get modified
> arrows (i.e. Ctrl + Arrow) but nothing on a plain old arrow.
>
> I will search as you suggested, but in the mean time, if you have any
> other thoughts, I'm open...
>
> Jerry
>
> "AMercer" <AM*****@discus sions.microsoft .com> wrote in message
> news:A3******** *************** ***********@mic rosoft.com...
>>I have no problems with KeyDown getting both arrow key events and
>>space key.
>> You get space but not arrow. What controls do you have on the form?
>> Almost
>> certainly the arrow keys are being intercepted by a control on your
>> form.
>> Search the .net help for "arrow and keydown" for interesting reading.
>
>



Nov 21 '05 #11
Got it...

You have to override IsInputKey in the child controls and return true for
keys that you want the parent to see and then override processKeyPrevi ew in
the parent and look for those keystrokes.

Thanks for your help. On to the next hurdle...

Jerry

Have to override the processKeyPrevi ew event in the usercontrol
"Some Guy" <my*****@there. com> wrote in message
news:11******** *****@corp.supe rnews.com...
Yes, not hard. You don't even have to create a library to do it.
Public Class UserControl1
Inherits System.Windows. Forms.UserContr ol

Public Sub New()
Mybase.New()
End Sub

Protected Overrides Function IsInputKey(ByVa l keyData As
System.Windows. Forms.Keys) As Boolean
IsInputKey = True
End Function

End Class
Your form:

Dim Withevents myControl as UserControl1

mycontrol.Paren t = '-- Whatever
myControl.Locat ion = '-- Wherever
myControl.Size = '-- Whatever
"Rlrcstr" <rl*****@msn.co m> wrote in message
news:Or******** **********@TK2M SFTNGP14.phx.gb l...
I started to read something about that. How can you do that with a
control that is instantiated dynamically? Or do I have to create my own
subclass?

Thanks.

Jerry
"Some Guy" <my*****@there. com> wrote in message
news:11******** *****@corp.supe rnews.com...
Override IsInputKey

Protected Overrides Function IsInputKey(ByVa l keyData As
System.Windows. Forms.Keys) As Boolean
IsInputKey = True
End Function

"Rlrcstr" <rl*****@msn.co m> wrote in message
news:ur******** ******@tk2msftn gp13.phx.gbl...
It's a usercontrol inside a scrollable panel container inside another
usercontrol.

I'm creating the inner usercontrols dynamically and then allowing the
user to scroll through as many as have been created. Kinda like a
listbox forthe usercontrols.

I originally tried actually using an ownerdraw listbox - it has a
controls collection - but it also has issues displaying controls when
scrolling, so I decided to create my own.

I'm very close but I still have to main issues and one of them is that
I'm not getting the KeyDown trigger when an arrow is pressed. I don't
understand why I would get other KeyDown events and not the arrows.
It's strange seems that I get every other key. I even get modified
arrows (i.e. Ctrl + Arrow) but nothing on a plain old arrow.

I will search as you suggested, but in the mean time, if you have any
other thoughts, I'm open...

Jerry

"AMercer" <AM*****@discus sions.microsoft .com> wrote in message
news:A3******** *************** ***********@mic rosoft.com...
>I have no problems with KeyDown getting both arrow key events and space
>key.
> You get space but not arrow. What controls do you have on the form?
> Almost
> certainly the arrow keys are being intercepted by a control on your
> form.
> Search the .net help for "arrow and keydown" for interesting reading.



Nov 21 '05 #12

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

5
18230
by: skipc | last post by:
Hi, I am stuck... I've got a popup window that displays a list in table format with links on the bottom to navigate the list <prev> 1 2 3 ... <next> When I demo'd to the users... they immediately asked if they could use the arrow keys and enter key to navigate the list. I think there must be a way to do this, but I can't figure it out.
2
8114
by: Darren Oakey | last post by:
ok - the problem - I made a simple breakout game out of a form, just painting the background - and using keydown for left and right arrow keys to control the bat - worked fine. I then moved all the code into a user control, put it on the form. Now I don't get keydown events when I press an arrow key - on either the form or the usercontrol ?!!!? I suspect somehow the container fucntionality has decided that they are was of migrating...
4
5892
by: Neil Wallace | last post by:
Hi there, I have an application in which a grid of 100 or more buttons are put on a form in columns of 10. All the buttons are within a panel. They are added in runtime, and so they adopt a sensible tab value. The tab key moves the focus down the column one by one, and the up and down arrow keys work well.
2
5515
by: Vincent | last post by:
Hi, I have a user control that needs to trap the arrow keys to move items around internally. However, using the arrow keys will move the focus to another control on the form hosting the user control. How do I stop this? Vincent.
1
10157
by: Martijn Mulder | last post by:
/* I have problems detecting the Arrow Keys on a User Control. A control derived from System.Windows.Forms.Control neglects 'bare' Arrow Keys but does react on the combination <Altor <Ctrl+ Arrow Key. The code below shows what I mean. How can I cure this? (excuse me for the line breaks) */
0
2925
by: Martijn Mulder | last post by:
/* I override IsInputKey() to direct the Arrow Keys (Cursor Keys) to my custom System.Windows.Forms.Control. But, holding down the Shift-Key prevents the Arrow Keys from coming through. How can I intercept the Arrow Keys when holding down the Shift Key? */
4
3294
by: boopsboops | last post by:
Hi thescripts people, I hope I'm in the right forum for Visual Basic Dotnet (VS 2005). I am trying to make a custom control in which you can nudge a point around using the arrow keys. Actually, the control is meant to be a simple drawing program. To test it out I have put the control on a Windows form which also contains several buttons. I have added a KeyDown event handler to the custom control (see code below). It responds fine to keys...
2
3324
by: Charles Law | last post by:
I'll kick myself when you tell me, but ... I have a user control on a form, and I want the user control to see the arrow keys when I press them. If I press just about any other key the control's KeyDown event is fired, but not when I press a direction key. I want to see them in the KeyDown event so that I can respond as soon as the key is depressed, and I want to detect when the key is held down so that I can perform an action...
4
6285
by: beary | last post by:
Hi Being tested using FF 3 on WAMP server. I have spent a number of hours trying to figure this out myself. I have a html form using table cells and had a request to enable the arrow keys on a keyboard to move through the cells. I found some code and adapted it, and it works well now. Arrow keys move the cursor exactly to the correct cell. There are two things I can't do which I was hoping you guys would give me some help on. I am a...
0
9672
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
10213
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
0
10000
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
9037
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
0
6779
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
5436
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
0
5563
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
4113
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
3721
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.