2013-06-16 2 views
0

Я делаю приложение Windows Forms и от form2 Я хочу, чтобы иметь возможность нажать Alt + 1, чтобы открыть form3. Как мне это сделать?Открытие новой формы с помощью сочетания клавиш

Единственный код, который я знаю, чтобы открыть новую форму является:

var myForm = new Form3(); 
myForm.Show(); 

... Но, как я сказал, что мне нужно знать, как активировать это с помощью нажатия клавиши вместо кнопки.

Вот код, который я работаю с для form2:

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Windows.Forms; 

namespace WindowsFormsApplication1 
{ 
    public partial class Form2 : Form 
    { 
     public Form2() 
     { 
      InitializeComponent(); 
     } 

     private void pictureBox1_Click(object sender, EventArgs e) 
     { 
      var myForm = new Form2(); 
      myForm.Show(); 

     } 
    } 
} 

ответ

0

Сначала необходимо подписаться на событие form2 KeyDown, то вам необходимо проверить для ключей, где прессованных:

private void Form1_KeyDown(object sender, KeyEventArgs e) 
     { 
      if (e.Alt && e.KeyCode == Keys.D1)//here you can choose any key you want 
      { 
       Form3 f3 = new Form3(); 
       f3.ShowDialog(); 
      } 


     } 

Надеюсь, это поможет.

+0

да это помогло спасибо вам летучая мышь Знаете ли вы коды клавиш для ввода, когда я с ним открылся, коды клавиш не распознаются компилятором – Gerard2202

+0

Если вы еще этого не сделали, вы должны установить для KeyPreview формы значение true. –

+0

@Michael O'Brien спасибо, я сделал глупую ошибку в любом случае: P – Gerard2202

Смежные вопросы