C#Windows应用程序开发之事件处理器

来源:岁月联盟 编辑:zhu 时间:2009-08-16

C#Windows应用程序开发之事件处理器的前言:通常windows应用程序都有相似的特征:控件、菜单、工具条、状态栏等等。每次我们开始作一个新的windows应用程序时都是以相同的事情开始:建立项目,添加控件和事件处理器。如果我们有一个模板,那么我们就可以节约大量的时间了。

在介绍如何建立模板的过程中,将涉及大量的微软.net framework类库的基本知识。如果你没有使用集成开发环境那么本文介绍的模板对你将非常有用,如果你使用了visual studio.net这样的集成开发环境你也可以从中了解控件的工作方式,这对你也是很有用的。

C#Windows应用程序开发之事件处理器

在windows程序设计中添加事件处理器是最重要的任务。事件处理器保证了程序与用户交互,同时完成其他重要的功能。在c#中你可以给控件和菜单事件添加事件处理器以俘获你想处理的事件,下面的代码给Button控件的click事件设计了一个事件处理器:

  1. button.Click += new System.EventHandler(this.button_Click);  

C#Windows应用程序开发之事件处理器之button_Click事件处理器必须被处理:

  1. private void button_Click(Object sender, System.EventArgs e) {   
  2. MessageBox.Show("Thank you.", "The Event Information");   
  3. }  

C#Windows应用程序开发之事件处理器之MenuItem 对象在实例化的同时可以给赋以一个事件处理器:

  1. fileNewMenuItem = new MenuItem("&New",   
  2. new System.EventHandler(this.fileNewMenuItem_Click), Shortcut.CtrlN);   
  3.  
  4. fileOpenMenuItem = new MenuItem("&Open",   
  5. new System.EventHandler(this.fileOpenMenuItem_Click), Shortcut.CtrlO);   
  6.  
  7. fileSaveMenuItem = new MenuItem("&Save",   
  8. new System.EventHandler(this.fileSaveMenuItem_Click), Shortcut.CtrlS);   
  9.  
  10. fileSaveAsMenuItem = new MenuItem("Save &As",   
  11. new System.EventHandler(this.fileSaveAsMenuItem_Click));   
  12.  
  13. fileMenuWithSubmenu = new MenuItem("&With Submenu");   
  14.  
  15. submenuMenuItem = new MenuItem("Su&bmenu",   
  16. new System.EventHandler(this.submenuMenuItem_Click));   
  17.  
  18. fileExitMenuItem = new MenuItem("E&xit",   
  19. new System.EventHandler(this.fileExitMenuItem_Click));   

C#Windows应用程序开发之事件处理器遇到的问题:你不能给工具按钮指派一个事件处理器,但可以给工具条指派一个事件处理器:

  1. toolBar.ButtonClick += new   
  2.  
  3. ToolBarButtonClickEventHandler(this.toolBar_ButtonClick);   
  4.  
  5. protected void toolBar_ButtonClick(Object sender, ToolBarButtonClickEventArgs   
  6.  
  7. e) {   
  8.  
  9. // Evaluate the Button property to determine which button was clicked.   
  10. switch (toolBar.Buttons.IndexOf(e.Button)) {   
  11. case 1:   
  12. MessageBox.Show("Second button.", "The Event Information");   
  13. break;   
  14. case 2:   
  15. MessageBox.Show("third button", "The Event Information");   
  16. break;   
  17. case 3:   
  18. MessageBox.Show("fourth button.", "The Event Information");   
  19. break;   
  20. }   

C#Windows应用程序开发之事件处理器的理解:例子中也给窗体的close事件设计了一个事件处理器,通过重载OnClosing方法你可以接收用户点击窗体的X按钮,这样你可以取消关闭事件:

  1. protected override void OnClosing(CancelEventArgs e) {   
  2. MessageBox.Show("Exit now.", "The Event Information");   

C#Windows应用程序开发之事件处理器的基本情况就向你介绍到这里,希望对你学习和理解C#Windows应用程序开发之事件处理器有所帮助。