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;
}
}