C#中的事件可以说是应用相当多的一种机制,这里从浅至深了解下C#中的事件机制:

  1. 事件的简单应用
  2. 自定义事件
  3. C#事件机制
  4. 使用事件不得不注意的事

PS公司上网机上没有IDE工具,所以,有些代码只能是简单写一下,无法给出运行截图和完整测测试项目了;大家见谅!

1.事件的简单应用

  在VS的IDE中最简单的事件应用莫过于如下:

  1. 创建一个WINFORM项目
  2. 从工具栏中拖一个"按钮"控件到form1界面上
  3. 双击按钮控件,VS会自动创建按钮单击事件回调函数,并将函数与按钮单击事件关联,并跳转到事件回调函数button1_Click的代码编辑界面。
  4. 在button1_Click函数中,填写以下代码:
    MessageBox.Show("Hello,这是事件回调结果!");
  5. 按F5看看运行效果吧,点击按钮,弹出什么了?对的,是一个对话框:
                                Hello,这是事件回调结果!

  这是最简单的事件应用。接下来让我们看看在代码中如何应用事件:

  1. 还是刚才那个按钮,让我们按F7切换到代码编辑界面吧。
  2. 在Form1的构造函数中,InitializeComponent();这一句下面添加我们的事件代码,使得整个构造函数是下面的样子:
    public Form1()
    {
        InitializeComponent();
        button1.MouseHove+=new EventHandler(Button1_MouseHover);
    }
  3. 哦,感谢微软的工程师们,在编写上面代码过程中,IDE会自动生成最终的事件回调函数,我们只需要填写函数内容即可:
    private void Button1_MouseHover(object sender,EventArgs e)
    {
            MessageBox.Show("嘿,你怎么还不点?");
    }
  4. OK,按F5看看运行效果吧(把鼠标放到按钮上等一会)。

2.自定义事件

  如何在自定义的类中定义事件呢?参看下面的代码:

public class UserEventClass
{
    public void TriggerEvent()
    {
        OnEventTrigger();
    }
    protected virtual void OnEventTrigger()
    {
        var handler= EventTriggered;
        if(handler!=null)
        {
            handler(this,new EventArgs());
        }
    }
    public event EventHandler EventTriggered;
}
View Code

相关文章:

  • 2022-12-23
  • 2021-12-22
  • 2021-08-30
  • 2022-01-05
  • 2021-06-15
  • 2021-08-09
  • 2022-12-23
猜你喜欢
  • 2021-12-03
  • 2021-10-17
  • 2021-08-08
  • 2022-01-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案