Какое событие вызывается при нажатии клавиш - 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();
        }
    }
}

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


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

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

8   голосов , оценка 3.75 из 5
Похожие ответы