Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.03.2013, 21:25   #1
Veryn4ik1993
Пользователь
 
Регистрация: 12.09.2012
Сообщений: 81
По умолчанию Вызов второй формы при нажатии клавиши

При нажатии клавиши 2 должна выскочить вторая форма

Я умею лишь создавать вторую форму при клике мыши.
Form2 form2 = new Form2();
form2.Show();
Помогите, пожалуйста
Veryn4ik1993 вне форума Ответить с цитированием
Старый 04.03.2013, 06:32   #2
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,876
По умолчанию

Вот и вставьте это в обработчик нажатия кнопки.
Форме понадобится установить свойство KeyPreview = true
Обработчик примерно так будет:
Код:
private void Form1_KeyUp(object sender, KeyEventArgs e)
{
    if (e.KeyCode == Keys.D2)
    {
         Form2 form2 = new Form2();
         form2.Show();
    };
}
phomm вне форума Ответить с цитированием
Старый 04.03.2013, 18:34   #3
Veryn4ik1993
Пользователь
 
Регистрация: 12.09.2012
Сообщений: 81
По умолчанию

А можно ли как о сократить условия, вот например при нажатии клавиш ‘1’, ‘2’, ‘3’ открывает соответственно 1, 2, 3 новых окон
вот я попыталась но у меня загвоздка в том, что всегда открывается первый независимо
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 ex2
{
public partial class Form1 : Form
{


public Form1()
{
InitializeComponent();


}

private void Form1_KeyUp(object sender, KeyEventArgs e)
{

if (e.KeyCode == Keys.D2)
{
Form2 form2 = new Form2();
form2.Show();
}
if (e.KeyCode == Keys.D3)
{
Form2 form2 = new Form2();
form2.Show();
Form3 form3 = new Form3();
form3.Show();
}

}
}
}
Veryn4ik1993 вне форума Ответить с цитированием
Старый 11.03.2013, 12:42   #4
acteralex
Форумчанин
 
Регистрация: 19.05.2011
Сообщений: 189
По умолчанию

Код:
private void Form1_KeyUp(object sender, KeyEventArgs e)
        {
            if ((int)e.KeyCode >= 49 && (int)e.KeyCode <= 57)
            {
                try
                {
                    string name = Application.ProductName;
                    int count = (int)e.KeyCode - 48;
                    for (int i = 1; i <= count; i++)
                    {
                        
                        Type type = Type.GetType(name + ".Form" + (i + 1));
                        object a = Activator.CreateInstance(type);
                        (a as Form).Show();

                    }
                }
                catch (Exception) { }
            }
        }
acteralex вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вызов процедуры при нажатии на Items TreeView Andrey770 Общие вопросы Delphi 1 08.03.2012 06:08
Зацикливание при нажатии клавиши в DirectInput Sargonass Gamedev - cоздание игр: Unity, OpenGL, DirectX 2 14.01.2012 19:42
Событие при нажатии клавиши. werrey Общие вопросы Delphi 3 09.06.2011 21:33
завершение цикла при нажатии клавиши LLIyPI/IK Общие вопросы C/C++ 8 12.02.2010 13:29
Событие при нажатии клавиши Enter Inbox Общие вопросы Delphi 4 12.06.2007 14:18