问题描述
usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Timers;namespaceEventHanderAndTimer{publicpartialclassForm1:Form{publicForm1(){InitializeComponent();}privatevoidshowButton_Click(objectsender,EventArgse){ExampleClassec=newExampleClass();}publicclassExampleClass{publicExampleClass(){TestClasstc=newTestClass();tc.MyeventHandler=newEventHandler(myFunction);}voidmyFunction(objectsender,EventArgse){System.Windows.Forms.MessageBox.Show("十秒钟过去了");}}publicclassTestClass{publicEventHandlerMyeventHandler{get;set;}publicTestClass(){System.Timers.Timertimer=newSystem.Timers.Timer();timer.Interval=1000;timer.Elapsed+=newElapsedEventHandler(onTime);timer.Start();}voidonTime(objectsender,ElapsedEventArgse){((System.Timers.Timer)sender).Stop();if(MyeventHandler!=null){MyeventHandler(this,newEventArgs());}}}}}刚刚写了一个关于EventHandler的程序,在winform下,按钮下声明ExampleClass实例可以运行,但是当我改程序移植到控制台程序下式,却无法实现,不知道为什么?在控制台下,在主函数里面声明一个ExampleClass实例却不可以
解决方案
解决方案二:
添加引用System.Windows.Forms...或者删除掉所有System.Windows.Forms命名空间里的对象...
解决方案三:
WinForm和控制台应用程序是两回事儿。例如,控制台应用程序就没有Form,Timer之类的控件吧.
解决方案四:
类当然不能放在函数里面