Какое событие вызывается при нажатии клавиш - C#
Формулировка задачи:
у меня такой вопрос как при помощи событий отследить нажатие кнопки ф1 и открыть форму 2
(это нужно сделать именно при помощи событий не прибегая к встроенным функциям)
Решение задачи: «Какое событие вызывается при нажатии клавиш»
textual
Листинг программы
- namespace sobitia
- {
- class Program
- {
- public delegate void FireEventHandler(object senter, FireEventArgs args);
- public class NewTown
- {
- private int build, BuildNumber;
- private int day, days;
- private Police polisman;
- private Ambulance ambulanceman;
- private FireDetect fireman;
- public event FireEventHandler Fire;
- private Random rnd = new Random();
- private int m = 3, n = 1000;
- public NewTown(int TSize, int Days)
- {
- BuildNumber = rnd.Next(TSize);days = Days;
- polisman = new Police(this);
- ambulanceman = new Ambulance(this);
- fireman = new FireDetect(this);
- polisman.On(); ambulanceman.On(); fireman.On();
- }
- protected virtual void OnFire(FireEventArgs e) { if (Fire != null)Fire(this, e); }
- public void LifeOurTown()
- {
- for(day=1;day<=days;day++)
- for (build = 1; build <= BuildNumber; build++)
- {
- if (rnd.Next(n) <= m)
- {
- FireEventArgs e = new FireEventArgs(build, day, true);
- OnFire(e);
- if (e.Permit) Console.WriteLine("Пожар потушен!");
- else Console.WriteLine("Пожар продолжается!");
- }
- }
- }
- }
- public abstract class Receiver
- {
- private NewTown town;
- public Receiver(NewTown town) { this.town = town; }
- public void On() {town.Fire+=new FireEventHandler(It_is_Fire); }
- public void Off() { town.Fire -= new FireEventHandler(It_is_Fire); town = null; }
- public abstract void It_is_Fire(object sender, FireEventArgs e);
- }
- public class Police : Receiver
- {
- public Police(NewTown town) : base(town) { }
- public override void It_is_Fire(object sender, FireEventArgs e)
- {
- Console.WriteLine("Пожар в доме {0}.Day {1} "+" Милиция ищет виновных!",e.Build,e.Day);
- e.Permit &= true;
- }
- }
- public class FireDetect : Receiver
- {
- public FireDetect(NewTown town) : base(town) { }
- public override void It_is_Fire(object sender, FireEventArgs e)
- {
- Console.WriteLine("Пожар в доме {0}.Day {1} " + " Пожарные тушат пожар!", e.Build, e.Day);
- Random rnd = new Random(e.Build);
- if (rnd.Next(10) > 5)
- e.Permit &= false;
- else
- e.Permit &= true;
- }
- }
- public class Ambulance : Receiver
- {
- public Ambulance(NewTown town) : base(town) { }
- public override void It_is_Fire(object sender, FireEventArgs e)
- {
- Console.WriteLine("Пожар в доме {0}.Day {1} " + " Скорая добивает пострадавших!", e.Build, e.Day);
- e.Permit &= true;
- }
- }
- public class FireEventArgs : EventArgs
- {
- private int build;
- private int day;
- private bool permit;
- public int Build { get { return (build); } }
- public int Day { get { return (day); } }
- public bool Permit { get { return (permit); } set { permit = value; } }
- public FireEventArgs(int build, int day, bool permit)
- {
- this.build = build; this.day = day; this.permit = permit;
- }
- }
- static void Main(string[] args)
- {
- Console.WriteLine("Program Life Town");
- NewTown smtown = new NewTown(100,100);
- smtown.LifeOurTown();
- Console.ReadLine();
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д