Какое событие вызывается при нажатии клавиш - C#

Узнай цену своей работы

Формулировка задачи:

у меня такой вопрос как при помощи событий отследить нажатие кнопки ф1 и открыть форму 2 (это нужно сделать именно при помощи событий не прибегая к встроенным функциям)

Решение задачи: «Какое событие вызывается при нажатии клавиш»

textual
Листинг программы
  1. namespace sobitia
  2. {
  3.     class Program
  4.     {
  5.  
  6.  
  7.         public delegate void FireEventHandler(object senter, FireEventArgs args);
  8.         public class NewTown
  9.         {
  10.             private int build, BuildNumber;
  11.             private int day, days;
  12.             private Police polisman;
  13.             private Ambulance ambulanceman;
  14.             private FireDetect fireman;
  15.             public event FireEventHandler Fire;
  16.             private Random rnd = new Random();
  17.             private int m = 3, n = 1000;
  18.             public NewTown(int TSize, int Days)
  19.             {
  20.                 BuildNumber = rnd.Next(TSize);days = Days;
  21.                 polisman = new Police(this);
  22.                 ambulanceman = new Ambulance(this);
  23.                 fireman = new FireDetect(this);
  24.                 polisman.On(); ambulanceman.On(); fireman.On();
  25.             }
  26.             protected virtual void OnFire(FireEventArgs e) { if (Fire != null)Fire(this, e); }
  27.             public void LifeOurTown()
  28.             {
  29.                 for(day=1;day<=days;day++)
  30.                     for (build = 1; build <= BuildNumber; build++)
  31.                     {
  32.                         if (rnd.Next(n) <= m)
  33.                         {
  34.                             FireEventArgs e = new FireEventArgs(build, day, true);
  35.                             OnFire(e);
  36.                             if (e.Permit) Console.WriteLine("Пожар потушен!");
  37.                             else Console.WriteLine("Пожар продолжается!");
  38.                         }
  39.                     }
  40.             }
  41.         }
  42.         public abstract class Receiver
  43.         {
  44.             private NewTown town;
  45.             public Receiver(NewTown town) { this.town = town; }
  46.             public void On() {town.Fire+=new FireEventHandler(It_is_Fire); }
  47.             public void Off() { town.Fire -= new FireEventHandler(It_is_Fire); town = null; }
  48.             public abstract void It_is_Fire(object sender, FireEventArgs e);
  49.         }
  50.         public class Police : Receiver
  51.         {
  52.             public Police(NewTown town) : base(town) { }
  53.             public override void It_is_Fire(object sender, FireEventArgs e)
  54.             {
  55.                 Console.WriteLine("Пожар в доме {0}.Day {1} "+" Милиция ищет виновных!",e.Build,e.Day);
  56.                 e.Permit &= true;
  57.             }
  58.         }
  59.         public class FireDetect : Receiver
  60.         {
  61.             public FireDetect(NewTown town) : base(town) { }
  62.             public override void It_is_Fire(object sender, FireEventArgs e)
  63.             {
  64.                 Console.WriteLine("Пожар в доме {0}.Day {1} " + " Пожарные тушат пожар!", e.Build, e.Day);
  65.                 Random rnd = new Random(e.Build);
  66.                 if (rnd.Next(10) > 5)
  67.                     e.Permit &= false;
  68.                 else
  69.                     e.Permit &= true;
  70.             }
  71.         }
  72.         public class Ambulance : Receiver
  73.         {
  74.             public Ambulance(NewTown town) : base(town) { }
  75.             public override void It_is_Fire(object sender, FireEventArgs e)
  76.             {
  77.                 Console.WriteLine("Пожар в доме {0}.Day {1} " + " Скорая добивает пострадавших!", e.Build, e.Day);
  78.                 e.Permit &= true;
  79.             }
  80.         }
  81.         public class FireEventArgs : EventArgs
  82.         {
  83.             private int build;
  84.             private int day;
  85.             private bool permit;
  86.             public int Build { get { return (build); } }
  87.             public int Day { get { return (day); } }
  88.             public bool Permit { get { return (permit); } set { permit = value; } }
  89.             public FireEventArgs(int build, int day, bool permit)
  90.             {
  91.                 this.build = build; this.day = day; this.permit = permit;
  92.             }
  93.         }
  94.  
  95.         static void Main(string[] args)
  96.         {
  97.             Console.WriteLine("Program Life Town");
  98.             NewTown smtown = new NewTown(100,100);
  99.             smtown.LifeOurTown();
  100.             Console.ReadLine();
  101.         }
  102.     }
  103. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 3.75 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы