开发者

How can you create Alt shortcuts in a Windows Forms application?

开发者 https://www.devze.com 2023-02-02 19:55 出处:网络
I\'d like to create keyboard shortcuts for some controls in my Windows Forms application. Example: Notice the underlined, F E V P B.

I'd like to create keyboard shortcuts for some controls in my Windows Forms application.

Example:

How can you create Alt shortcuts in a Windows Forms application?

Notice the underlined, F E V P B.

I have a label and a textbox control. I'd like to associate that Alt keyboard shortcut to the label and the textbox. So if someone 开发者_JAVA百科presses Alt + B, focus is given to the associated textbox. Is there a way to create this association?


When the label receives focus from pressing its accelerator key (set using the &), it forwards the focus to the next control in the tab order, since labels are not editable. You need the textbox to be next control in the tab order.

To view and correct the tab order of your form, use the View + Tab Order command in the IDE. Using TabPages or other containers adds a level of nesting to the tab order (e.g., 1.1, 1.2 instead of just 1 and 2), but if the label and textbox are within the same container it shouldn't be too hard to set properly.


Type &File or &Edit and you will get underline. That will automatically bind underlined letters with Alt keyword for shortcut.

EDIT. You question has modified so I'd like to keep up with my answer. You would like to catch some keys combination (Alt + F) and set a focus to the text box.

You may try this solution using KeyDown event of the main form.

    private void Form1_KeyDown(object sender, KeyEventArgs e)
    {
        if (e.Alt && e.KeyCode == Keys.F)
        {
            this.textBox1.Focus();
        }
    }

To achieve this, you have to additionally set KeyPreview property of the form to true.


this.KeyDown += new KeyEventHandler(Form1_KeyDown);

void Form1_KeyDown(object sender, KeyEventArgs e) 
{ 
 if (e.Alt && e.KeyCode == Keys.W)
 { 
   btnShowConstructionCdFun(); 
 } 
}
0

精彩评论

暂无评论...
验证码 换一张
取 消