在前面我们讲解了控制台编程,下面我们将讲解Windows编程。Windows编程和控制台编程最大的不同之处就是事件机制的编程。普遍的,目前事件机制的使用已经在Windows下的应用程序中遍地开花了。一个Windows图形界面程序它大多数时间是在等待用户的操作,一旦用户有所作为,比如,键盘输入了一些内容,或者鼠标点击了应用程序的某些元素,那么系统就会接受这些消息,并判断这些消息是属于哪一个窗口的,然后把这些消息通知相对应的窗口元素,应用程序接收这些消息,并做出相对应的处理,在.NET下我们不必去考虑这个流程,因为.NET框架都已经为我们实现了这些机制,我们只要考虑当我们接收到这样一个事件,然后怎么去处理这些事件就可以了。
所有的Windows应用程序都有一个公共的图形用户界面(GUI)。多个Windows应用程序会共享相同的硬件:计算机、显示器和打印机等等。由于它们的并发特性,所以一个程序在另一个应用程序载入和运行之前执行或终止都是不可能的。这样Windows需要所有的应用程序要能够处理变化的和不可预测的情况。
这是事件驱动编程的世界。事件驱动就是说新的执行流程是由外界发生的事件所确定的。也就是接收到任务才工作的模式。事件就是一个信号,它告知应用程序有重要情况要发生,即一个事件(Event)表示程序中发生一件显著事情的信号。可以设计一个相应事件的应用程序,而不需要编写一个从头执行到尾的程序。这些事件可由用户引发(如用户按下一个键)。Windows本身也会产生一些其他的事件。当优先占用资源的应用程序完成操作时,Windows告诉处于等待的应用程序可以开始了。(www.xing528.com)
在处于等待的应用程序等待一个事件的时候,它仍然保持在环境中。用户可以运行其他的应用程序。然而处于等待的应用程序的代码始终在运行的,并准备好在用户返回到这个程序的时候被激活。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。