473,397 Members | 1,985 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,397 software developers and data experts.

Select an item in a combo box with enter key

Hi,

I am having a problem trying to select an item with the enter key.

I want to work the combo with the keyboard.

So when I use the down arrow to browse the list I want to then
hit the enter key as if selecting an item with the mouse.

How do I do this?

Can't seem to get it working.

Is this a setup of the combo issue?

rotsey
Jun 26 '07 #1
7 10292
Hi Rotsey,

Winfoms I guess?
If yes then why do you need to select it by Enter if on keyboard-mode SelectedIndexChanged
is called by any cursor movement?

Kind Regards, Alex Meleta
[TechBlog] http://devkids.blogspot.com

RHi,
R>
RI am having a problem trying to select an item with the enter key.
R>
RI want to work the combo with the keyboard.
R>
RSo when I use the down arrow to browse the list I want to then hit
Rthe enter key as if selecting an item with the mouse.
R>
RHow do I do this?
R>
RCan't seem to get it working.
R>
RIs this a setup of the combo issue?
R>
Rrotsey
R>
Jun 26 '07 #2
Hi,

You are automatically selecting the items as you navigate using the Arrow
keys. So hitting the Enter key doesn't have any speciifc relevance as the
item would already have been selected by the time you hit the Enter key.

Please see the code below which demonstrates this:

public Form1()
{
//
// Required for Windows Form Designer support
//
InitializeComponent();

//
// TODO: Add any constructor code after InitializeComponent call
this.comboBox1.SelectedIndexChanged +=new
EventHandler(comboBox1_SelectedIndexChanged);
//
}

static void Main()
{
Application.Run(new Form1());
}

private void Form1_Load(object sender, System.EventArgs e)
{
comboBox1.Items.Add("A");
comboBox1.Items.Add("B");
comboBox1.Items.Add("C");
comboBox1.Items.Add("D");
comboBox1.Items.Add("E");

}

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
Debug.WriteLine(this.comboBox1.SelectedItem);
}

Hope this helps!
Thanks -
"Rotsey" <ma***********@RemoveThis.optusnet.com.auwrote in message
news:et*************@TK2MSFTNGP06.phx.gbl...
Hi,

I am having a problem trying to select an item with the enter key.

I want to work the combo with the keyboard.

So when I use the down arrow to browse the list I want to then
hit the enter key as if selecting an item with the mouse.

How do I do this?

Can't seem to get it working.

Is this a setup of the combo issue?

rotsey

Jun 26 '07 #3
what I have is a form that displays data from db and a filter
on employee name combo

I want to be able to arrow key through the list and then hit enter when
I find the employee and then only requery the form on enter

is this possible and how?

"Shine Xavier" <sh**********@gmail.comwrote in message
news:%2******************@TK2MSFTNGP06.phx.gbl...
Hi,

You are automatically selecting the items as you navigate using the Arrow
keys. So hitting the Enter key doesn't have any speciifc relevance as the
item would already have been selected by the time you hit the Enter key.

Please see the code below which demonstrates this:

public Form1()
{
//
// Required for Windows Form Designer support
//
InitializeComponent();

//
// TODO: Add any constructor code after InitializeComponent call
this.comboBox1.SelectedIndexChanged +=new
EventHandler(comboBox1_SelectedIndexChanged);
//
}

static void Main()
{
Application.Run(new Form1());
}

private void Form1_Load(object sender, System.EventArgs e)
{
comboBox1.Items.Add("A");
comboBox1.Items.Add("B");
comboBox1.Items.Add("C");
comboBox1.Items.Add("D");
comboBox1.Items.Add("E");

}

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
Debug.WriteLine(this.comboBox1.SelectedItem);
}

Hope this helps!
Thanks -
"Rotsey" <ma***********@RemoveThis.optusnet.com.auwrote in message
news:et*************@TK2MSFTNGP06.phx.gbl...
>Hi,

I am having a problem trying to select an item with the enter key.

I want to work the combo with the keyboard.

So when I use the down arrow to browse the list I want to then
hit the enter key as if selecting an item with the mouse.

How do I do this?

Can't seem to get it working.

Is this a setup of the combo issue?

rotsey


Jun 26 '07 #4
Yes it is possible! You could consume the "KeyUp" event of the ComboBox for
doing this:
--------------------------------------------------------------------------------------------
The code below gives you a clear picture of the sequence in which the
relevant events are triggered.

public Form1()
{
//
// Required for Windows Form Designer support
//
InitializeComponent();

//
// TODO: Add any constructor code after InitializeComponent call
this.comboBox1.SelectionChangeCommitted +=new
EventHandler(comboBox1_SelectionChangeCommitted);
this.comboBox1.KeyDown +=new KeyEventHandler(comboBox1_KeyDown);
this.comboBox1.KeyUp +=new KeyEventHandler(comboBox1_KeyUp);
//
}

static void Main()
{
Application.Run(new Form1());
}

private void Form1_Load(object sender, System.EventArgs e)
{
comboBox1.Items.Add("A");
comboBox1.Items.Add("B");
comboBox1.Items.Add("C");
comboBox1.Items.Add("D");
comboBox1.Items.Add("E");

}
private void comboBox1_SelectionChangeCommitted(object sender, EventArgs
e)
{
Debug.WriteLine(this.comboBox1.SelectedItem);
}

private void comboBox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
Debug.WriteLine("ENTER KEY DOWN");
}
}

private void comboBox1_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
Debug.WriteLine("ENTER KEY UP");
/*Do your DB Re-Query operation here as this gets triggered after the
SelectChangeCommitted event...*/
}
}
Hope this helps!
Thanks-
"Rotsey" <ma***********@RemoveThis.optusnet.com.auwrote in message
news:%2********************@TK2MSFTNGP05.phx.gbl.. .
what I have is a form that displays data from db and a filter
on employee name combo

I want to be able to arrow key through the list and then hit enter when
I find the employee and then only requery the form on enter

is this possible and how?

"Shine Xavier" <sh**********@gmail.comwrote in message
news:%2******************@TK2MSFTNGP06.phx.gbl...
>Hi,

You are automatically selecting the items as you navigate using the Arrow
keys. So hitting the Enter key doesn't have any speciifc relevance as the
item would already have been selected by the time you hit the Enter key.

Please see the code below which demonstrates this:

public Form1()
{
//
// Required for Windows Form Designer support
//
InitializeComponent();

//
// TODO: Add any constructor code after InitializeComponent call
this.comboBox1.SelectedIndexChanged +=new
EventHandler(comboBox1_SelectedIndexChanged);
//
}

static void Main()
{
Application.Run(new Form1());
}

private void Form1_Load(object sender, System.EventArgs e)
{
comboBox1.Items.Add("A");
comboBox1.Items.Add("B");
comboBox1.Items.Add("C");
comboBox1.Items.Add("D");
comboBox1.Items.Add("E");

}

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
Debug.WriteLine(this.comboBox1.SelectedItem);
}

Hope this helps!
Thanks -
"Rotsey" <ma***********@RemoveThis.optusnet.com.auwrote in message
news:et*************@TK2MSFTNGP06.phx.gbl...
>>Hi,

I am having a problem trying to select an item with the enter key.

I want to work the combo with the keyboard.

So when I use the down arrow to browse the list I want to then
hit the enter key as if selecting an item with the mouse.

How do I do this?

Can't seem to get it working.

Is this a setup of the combo issue?

rotsey



Jun 26 '07 #5
Hi,

"Rotsey" <ma***********@RemoveThis.optusnet.com.auwrote in message
news:%2********************@TK2MSFTNGP05.phx.gbl.. .
what I have is a form that displays data from db and a filter
on employee name combo

I want to be able to arrow key through the list and then hit enter when
I find the employee and then only requery the form on enter
>
is this possible and how?
Yes, It's possible

You have to use Form.ProcessCmdKey.

Jun 26 '07 #6
Ok thanks I will give it ago

"Shine Xavier" <sh**********@gmail.comwrote in message
news:OR*************@TK2MSFTNGP06.phx.gbl...
Yes it is possible! You could consume the "KeyUp" event of the ComboBox
for doing this:
--------------------------------------------------------------------------------------------
The code below gives you a clear picture of the sequence in which the
relevant events are triggered.

public Form1()
{
//
// Required for Windows Form Designer support
//
InitializeComponent();

//
// TODO: Add any constructor code after InitializeComponent call
this.comboBox1.SelectionChangeCommitted +=new
EventHandler(comboBox1_SelectionChangeCommitted);
this.comboBox1.KeyDown +=new KeyEventHandler(comboBox1_KeyDown);
this.comboBox1.KeyUp +=new KeyEventHandler(comboBox1_KeyUp);
//
}

static void Main()
{
Application.Run(new Form1());
}

private void Form1_Load(object sender, System.EventArgs e)
{
comboBox1.Items.Add("A");
comboBox1.Items.Add("B");
comboBox1.Items.Add("C");
comboBox1.Items.Add("D");
comboBox1.Items.Add("E");

}
private void comboBox1_SelectionChangeCommitted(object sender, EventArgs
e)
{
Debug.WriteLine(this.comboBox1.SelectedItem);
}

private void comboBox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
Debug.WriteLine("ENTER KEY DOWN");
}
}

private void comboBox1_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
Debug.WriteLine("ENTER KEY UP");
/*Do your DB Re-Query operation here as this gets triggered after the
SelectChangeCommitted event...*/
}
}
Hope this helps!
Thanks-
"Rotsey" <ma***********@RemoveThis.optusnet.com.auwrote in message
news:%2********************@TK2MSFTNGP05.phx.gbl.. .
>what I have is a form that displays data from db and a filter
on employee name combo

I want to be able to arrow key through the list and then hit enter when
I find the employee and then only requery the form on enter

is this possible and how?

"Shine Xavier" <sh**********@gmail.comwrote in message
news:%2******************@TK2MSFTNGP06.phx.gbl. ..
>>Hi,

You are automatically selecting the items as you navigate using the
Arrow keys. So hitting the Enter key doesn't have any speciifc relevance
as the item would already have been selected by the time you hit the
Enter key.

Please see the code below which demonstrates this:

public Form1()
{
//
// Required for Windows Form Designer support
//
InitializeComponent();

//
// TODO: Add any constructor code after InitializeComponent call
this.comboBox1.SelectedIndexChanged +=new
EventHandler(comboBox1_SelectedIndexChanged);
//
}

static void Main()
{
Application.Run(new Form1());
}

private void Form1_Load(object sender, System.EventArgs e)
{
comboBox1.Items.Add("A");
comboBox1.Items.Add("B");
comboBox1.Items.Add("C");
comboBox1.Items.Add("D");
comboBox1.Items.Add("E");

}

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
Debug.WriteLine(this.comboBox1.SelectedItem);
}

Hope this helps!
Thanks -
"Rotsey" <ma***********@RemoveThis.optusnet.com.auwrote in message
news:et*************@TK2MSFTNGP06.phx.gbl...
Hi,

I am having a problem trying to select an item with the enter key.

I want to work the combo with the keyboard.

So when I use the down arrow to browse the list I want to then
hit the enter key as if selecting an item with the mouse.

How do I do this?

Can't seem to get it working.

Is this a setup of the combo issue?

rotsey



Jun 26 '07 #7
On Tue, 26 Jun 2007 06:48:06 -0700, Ignacio Machin ( .NET/ C# MVP )
<machin TA <"laceupsolutions.com>"wrote:
>I want to be able to arrow key through the list and then hit enter when
I find the employee and then only requery the form on enter

is this possible and how?

Yes, It's possible

You have to use Form.ProcessCmdKey.
I disagree on at least two counts: 1) there are other ways to do it, and
2) Control.ProcessCmdKey() isn't even the best way to do it.

Personally, I'd sub-class the control and override the
Control.ProcessDialogKey() method.

ProcessCmdKey() is more commonly used for keyboard accelerator shortcuts
(Alt-<key>, Ctrl-<key>, etc.) while ProcessDialogKey() is intended for
situations in which a modifier key isn't relevant. As also has been
pointed out, one can subscribe to the KeyUp or KeyDown events (I prefer
KeyDown, because you will get one for each key repeat, but sometimes you
don't want to handle key repeats in which case KeyUp is preferable). You
can even subscribe to KeyPress if what you care about is the character
code generated rather than a specific key.

Not that you can't do it using ProcessCmdKey()...I just feel that there
are other, more appropriate methods.

Pete
Jun 26 '07 #8

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

Similar topics

4
by: mr_burns | last post by:
hi, using javascript, how do i select an option in a combo box? i have tried looking on the internet but dont really know what i should be searching for. what i want to happen is that when a...
14
by: Jos? | last post by:
This one droves me completely mad. I did not succeed to exploit the track given to me by Bob. I have : three tables : Clubs, Persons and ClubsPersons that join the two first in a many to many...
6
by: Robin S. | last post by:
Originally I wanted a list box which selects which record is the current one within the same form. Easy enough until Access takes a dump when one is deleted and then someone tries to select it in...
3
by: Cillies | last post by:
Hi all, I was wondering if anyone knows how to manipulate combo boxes. What I want to do is as follows: - Two combo boxes 1st box contains = Interested, Not Interested 2nd box contains =...
5
by: jjyconsulting | last post by:
Newbie needing some help. I have a tblParticipants. The fields include gender, education_level, income, occupation etc., I'm trying to create a form where a user can run a query from the form and...
1
by: swapna.munukoti | last post by:
Hi all, Is there a way to display some text in html select control by default which when the control is clicked, will not be listed in the drop down that contains its options. For example:...
4
by: mistyblu | last post by:
I wrote an Access97 application using VBA for a company many moons ago and they have approximately 20 users. All has been hunky dory for a long time but suddenly they have a combo box error on 3 of...
4
by: Kai12 | last post by:
Hello I am trying to create a combo box that would display data from a dataset, and also a 'Please Select' as the first item. I have written the following code which derives from a combo box and it...
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
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,...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
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...
0
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,...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...

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.