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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.02.2010, 14:52   #1
Linore
Пользователь
 
Регистрация: 18.01.2010
Сообщений: 95
По умолчанию Как в С# вызывать вторую форму по F1

Как сделать так чтобы в С# вторая форма была скрыта и вызывалась только по кнопочке F1
Linore вне форума Ответить с цитированием
Старый 05.02.2010, 15:05   #2
Cpluser
Форумчанин
 
Аватар для Cpluser
 
Регистрация: 16.02.2009
Сообщений: 555
По умолчанию

Код:
private void Form1_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyData == Keys.F1)
            {
                Form2 f = new Form2();
                f.Show();
            }
        }
Cpluser вне форума Ответить с цитированием
Старый 05.02.2010, 16:23   #3
Linore
Пользователь
 
Регистрация: 18.01.2010
Сообщений: 95
По умолчанию

Сделала как написано но форма все равно по нажатию не вызывается
Linore вне форума Ответить с цитированием
Старый 05.02.2010, 16:54   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А не забыла этот обработчик к форме прикрутить?
Код:
this.KeyDown+=this.Form1_KeyDow;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 05.02.2010, 17:13   #5
Linore
Пользователь
 
Регистрация: 18.01.2010
Сообщений: 95
По умолчанию

А где это нужно писать?
this.KeyDown+=this.Form1_KeyDow;
Linore вне форума Ответить с цитированием
Старый 05.02.2010, 17:17   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну вообще рекомендуют в конструкторе после InitializeComponent();
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 08.02.2010, 08:24   #7
Linore
Пользователь
 
Регистрация: 18.01.2010
Сообщений: 95
По умолчанию

Не хочет работать выдает ошибку

Ошибка 1 "COMcsharp.Form1" не содержит определения для "Form1_KeyDow" и не был найден метод расширения "Form1_KeyDow", принимающий тип "COMcsharp.Form1" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку) C:\Documents and Settings\Lera\Рабочий стол\COMcsharp\COMcsharp\Form1.cs 22 34 COMcsharp

Щас работает, но все равно по нажатию F1 форма не открывается

Последний раз редактировалось Stilet; 08.02.2010 в 08:50.
Linore вне форума Ответить с цитированием
Старый 08.02.2010, 08:36   #8
Carbon
JAVA BEAN
Участник клуба
 
Аватар для Carbon
 
Регистрация: 22.04.2007
Сообщений: 1,329
По умолчанию

А дебаг не пробовала?
Carbon вне форума Ответить с цитированием
Старый 08.02.2010, 08:50   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Linore
Код, как грится, в студию

В любом случае у меня вот так это получилось:
Код:
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 WindowsFormsApplication4
{
    public partial class Form1 : Form
    {
        Form2 f;
        public Form1()
        {
            InitializeComponent();
        }
        private void Form1_KeyDown(object sender, KeyEventArgs e) {
            if (e.KeyData == Keys.F1) { f=new Form2(); f.Show();}
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            this.KeyDown+=new KeyEventHandler(Form1_KeyDown);
        }
    }
}
I'm learning to live...

Последний раз редактировалось Stilet; 08.02.2010 в 09:01.
Stilet вне форума Ответить с цитированием
Старый 08.02.2010, 10:13   #10
Linore
Пользователь
 
Регистрация: 18.01.2010
Сообщений: 95
По умолчанию

У меня код такой
Form1.cs

Код:
 private void Form1_Load(object sender, EventArgs e)
     {
         this.KeyDown += new KeyEventHandler(Form1_KeyDown);
      }

  private void Form1_KeyDown(object sender, KeyEventArgs e)
     {
        
         
             if (e.KeyCode== Keys.F1)
         

             {
                 Form2 f = new Form2();
                 f.Show();
             }

Последний раз редактировалось Stilet; 08.02.2010 в 10:18.
Linore вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
builder. Как показать вторую форму? Как подключить другой юнит? TwiX C++ Builder 2 21.12.2009 21:29
С++. Открыть вторую форму ЛУНА55 Помощь студентам 2 10.12.2009 11:35
Первая форма перекрывает вторую Shouldercannon Общие вопросы Delphi 10 27.04.2009 16:13
Как изменить стандартную форму на форму любой сложности QwErEn Общие вопросы Delphi 9 08.06.2007 11:44
Какие изменения в системе нужно сделать чтобы установить ОС Linux как вторую операцио Ga-sergey Помощь студентам 7 09.04.2007 13:06