C#笔记:一个简单的事件event程序

using System;

using System.Windows.Forms;

using System.Threading;

namespace 事件01

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        }

        eventTest t = new eventTest();  //建一个对象

        private void Form1_Load(object sender, EventArgs e)

        {            

            t.OntempChange += t_OntempChange; //注册事件

        }

        //窗体上拖了个标签,当事件发生时改变其文本内容

        void t_OntempChange()  //事件处理代码

        {

            label1.Text = "变量已经改变。";

        }

        //窗体上拖了个按钮,这个按钮来启动事件引发类

        private void button1_Click(object sender, EventArgs e)

        {

            t.run();

        }

    }

public class eventTest  //事件引发类

    {

        bool temp = false;  //要监控的变量
        bool runOver = false;
        public delegate void tempChange(); //定义委托
        public event tempChange OntempChange; //定义事件
        public bool Temp
        {
            get { return temp; }
            set
            {   //对属性的设置可能引发事件
                if (value == true)
                {
                    if (runOver ==false)
                    {
                      OntempChange();
                      runOver = true;
                    }
                }
                temp = false ;
            }
        }
        //本对象的运行代码,其中有一条是改变属性的
        public void run()
        {
            Temp = true;
        }

        public void stop()
        {
            runOver =false;
        }

     }

猜你喜欢

转载自blog.csdn.net/u014780302/article/details/102499213