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.
>
>