首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

怎么 事件触发

2014-01-22 
如何 事件触发本帖最后由 wanyeye 于 2014-01-20 13:30:59 编辑class Program{public delegate void OnFil

如何 事件触发
本帖最后由 wanyeye 于 2014-01-20 13:30:59 编辑



 class Program
    {
        public delegate void OnFileChange();//定义委托
        public class FileListen
        {
            public event OnFileChange OnFileChangeEvent;//定义事件
            public void test()
            {
                for (int i = 1; i <= 100; i++)
                {                    
                    OnFileChangeEvent(); //事件发生                          
 
                  }
                }
            }
        }


        static void Main(string[] args)
        {
            FileListen fl = new FileListen();
            fl.OnFileChangeEvent += OutPut;//绑定具体方法到事件
            fl.test();
        }
        private static void OutPut()
        {
            Console.WriteLine("这是循环到时发生的事件!");
            Console.ReadKey();
        }
    }



代码中,事件只被触发 一次,为啥呢? 如果要触发指定 次数 ,又该如何?


[解决办法]
把 Console.ReadKey();去掉
[解决办法]
 class Program
    {
        public delegate void OnFileChange(int num);//定义委托
        public class FileListen
        {
            public event OnFileChange OnFileChangeEvent;//定义事件
            public void test()
            {
                for (int i = 1; i <= 100; i++)
                {                    
                    OnFileChangeEvent(i); //事件发生                          
  
                   }
            }
            }
        }
 
 
        static void Main(string[] args)
        {
            FileListen fl = new FileListen();
            fl.OnFileChangeEvent += OutPut;//绑定具体方法到事件


            fl.test();
        }
        private static void OutPut(int num)
        {
            Console.WriteLine(num);
        }
    }

[解决办法]
因为Console.ReadKey()需要等待按键按下才行,不按键的话就会一直卡在ReadKey
[解决办法]
你只调用了一次,当然触发一次了,你要触发几次就调用几次就可以了
[解决办法]
ReadKey 方法会一直等待,也就是阻止发出 ReadKey 方法的线程,直到按下某个字符或功能键。按下字符或功能键的同时可以按下 Alt、Ctrl 或 Shift 修改键中的一个或多个。但是,仅按下修改键不会使 ReadKey 方法返回。
[解决办法]
哥们,你最近干嘛呢  一天发十多个帖子???
[解决办法]
2楼应该 是楼主的意思!学习了

热点排行