zoukankan      html  css  js  c++  java
  • 委托和事件简单样例

      先上全部代码样例

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.Threading;
    
    namespace Event
    {
        public partial class Form1 : Form
        {
            private delegate void TextWacthEventHandler();
    
            private event TextWacthEventHandler textWatch;
    
            private bool flag = true;
            public Form1()
            {
                InitializeComponent();
                textWatch += new TextWacthEventHandler(OnTextChaned);
                Thread thread1 = new Thread(CheckText);
                thread1.Start();
            }
    
            private void OnTextChaned()
            {
                if (textWatch!=null)
                {
                    MessageBox.Show("注意!");
                }
            }
    
            private void CheckText()
            {
                while (true)
                {
                    if (txt_Text.Text.ToString() == "123")
                    {
                        OnTextChaned();
                        flag = false;
                    }
                    Thread.Sleep(1 * 1000);
                }
            }
        }
    }

      利用Winform做了一个样例,窗体上只加了一个TextBox进行测试。测试内容是监控TextBox的内容,当TextBox中输入的内容为123时,触发时间,并会有弹窗提示。

      创建一个事件前,首先需要创建一个委托,这里将委托命名为TextWacthEventHandler。

      之后我们再开始创建事件,事件的类型是刚刚定义的委托。格式为: event 委托类型 事件名称,即 event TextWacthEventHandler textWatch。这里event是事件的关键字,返回类型是委托。

      创建完事件,我们还需要写一个方法OnTextChanged来处理这个事件,否则刚才创建的事件就白瞎了。每当调用到该方法时,则触发事件。

      最后,我们得再写一个CheckText方法来不停地每隔一秒都监控一次TextBox的内容,否则我们将无法触发事件。这里我设置了一旦触发事件将不会再进行对TextBox的监控,也可以设置成不论是否触发事件都会继续每隔一秒监控一次,只需要让while循环一直继续就行。

  • 相关阅读:
    真不容易...终于我也有了个js的语法高亮
    持久层相关概念
    测试语法高亮显示
    BSTR简介和内部结构
    Debugging JavaScript in Your Applications
    Google Analytics 跟踪代码迁移手册
    我对事件驱动的理解
    imagettftext 可调整字间距输出
    投票机的实现及相关技术
    js光标定位到文本末尾
  • 原文地址:https://www.cnblogs.com/yupeiyuan/p/5588023.html
Copyright © 2011-2022 走看看