EventExample1

using System;

namespace EventExample1
{

    public delegate void ChangedEventHandler(object sender, EventArgs e);
    public class MyText
    {
        public event ChangedEventHandler Changed;
        protected virtual void OnChanged()
        {
            if (Changed != null)
            {
                Changed(this, null);
            }
        }

        private string _text = string.Empty;
        public string Text
        {
            get
            {
                return this._text;
            }
            set
            {
                this._text = value;
                OnChanged();
            }
        }
    }
}

------------------------------------

using System;

namespace EventExample1
{
    class Program
    {
        static void Main(string[] args)
        {
            MyText myText = new MyText();
            myText.Changed += new ChangedEventHandler(myText_Chenged);

            string str = string.Empty;
            while (str != "exit")
            {
                Console.Write("请输入一个字符串:");
                str = Console.ReadLine();
                myText.Text = str;
            }
        }

        private static void myText_Chenged(object sender, EventArgs e)
        {
            Console.WriteLine("Text属性的值改变:{0}", ((MyText)sender).Text);
        }
    }
}

posted on 2011-11-15 22:43  breakpoint  阅读(114)  评论(0编辑  收藏  举报

导航