C#Windows应用程序开发之事件处理器的前言:通常windows应用程序都有相似的特征:控件、菜单、工具条、状态栏等等。每次我们开始作一个新的windows应用程序时都是以相同的事情开始:建立项目,添加控件和事件处理器。如果我们有一个模板,那么我们就可以节约大量的时间了。
在介绍如何建立模板的过程中,将涉及大量的微软.net framework类库的基本知识。如果你没有使用集成开发环境那么本文介绍的模板对你将非常有用,如果你使用了visual studio.net这样的集成开发环境你也可以从中了解控件的工作方式,这对你也是很有用的。
C#Windows应用程序开发之事件处理器
在windows程序设计中添加事件处理器是最重要的任务。事件处理器保证了程序与用户交互,同时完成其他重要的功能。在c#中你可以给控件和菜单事件添加事件处理器以俘获你想处理的事件,下面的代码给Button控件的click事件设计了一个事件处理器:
- button.Click += new System.EventHandler(this.button_Click);
C#Windows应用程序开发之事件处理器之button_Click事件处理器必须被处理:
- private void button_Click(Object sender, System.EventArgs e) {
- MessageBox.Show("Thank you.", "The Event Information");
- }
C#Windows应用程序开发之事件处理器之MenuItem 对象在实例化的同时可以给赋以一个事件处理器:
- fileNewMenuItem = new MenuItem("&New",
- new System.EventHandler(this.fileNewMenuItem_Click), Shortcut.CtrlN);
- fileOpenMenuItem = new MenuItem("&Open",
- new System.EventHandler(this.fileOpenMenuItem_Click), Shortcut.CtrlO);
- fileSaveMenuItem = new MenuItem("&Save",
- new System.EventHandler(this.fileSaveMenuItem_Click), Shortcut.CtrlS);
- fileSaveAsMenuItem = new MenuItem("Save &As",
- new System.EventHandler(this.fileSaveAsMenuItem_Click));
- fileMenuWithSubmenu = new MenuItem("&With Submenu");
- submenuMenuItem = new MenuItem("Su&bmenu",
- new System.EventHandler(this.submenuMenuItem_Click));
- fileExitMenuItem = new MenuItem("E&xit",
- new System.EventHandler(this.fileExitMenuItem_Click));
C#Windows应用程序开发之事件处理器遇到的问题:你不能给工具按钮指派一个事件处理器,但可以给工具条指派一个事件处理器:
- toolBar.ButtonClick += new
- ToolBarButtonClickEventHandler(this.toolBar_ButtonClick);
- protected void toolBar_ButtonClick(Object sender, ToolBarButtonClickEventArgs
- e) {
- // Evaluate the Button property to determine which button was clicked.
- switch (toolBar.Buttons.IndexOf(e.Button)) {
- case 1:
- MessageBox.Show("Second button.", "The Event Information");
- break;
- case 2:
- MessageBox.Show("third button", "The Event Information");
- break;
- case 3:
- MessageBox.Show("fourth button.", "The Event Information");
- break;
- }
- }
C#Windows应用程序开发之事件处理器的理解:例子中也给窗体的close事件设计了一个事件处理器,通过重载OnClosing方法你可以接收用户点击窗体的X按钮,这样你可以取消关闭事件:
- protected override void OnClosing(CancelEventArgs e) {
- MessageBox.Show("Exit now.", "The Event Information");
- }
C#Windows应用程序开发之事件处理器的基本情况就向你介绍到这里,希望对你学习和理解C#Windows应用程序开发之事件处理器有所帮助。
【编辑推荐】