求一个事件的实例. 越简单越好.
解决方案 »
- 动态添加控件
- 如何设置命令行参数?
- 我的程序打一个文件,然后再删除该文件夹,总是提示文件被占用,有没有什么好的办法?
- c#动态生成一个数组
- 一个简单的窗口问题!!!!!!
- 一个在winform用户控件中进行对webservice安全验证的问题,紧急!!!!
- 在c#中读取xml文件的属性值的问题?在线等待,?????????
- 在做winform程序时,好几个程序的登录部分是共用的,我想问一下,怎么样才能只做一次登录部分,其它程序就可以共用,不需要重写一次?
- 求C#编码约定!
- 帮我看看那一句是执行或存储过程的?先谢了
- 函数传参问题,急
- javascript的nodeName、nodeValue和nodeType在C#的哪里?
Button类的定义:
public class Button : WebControl, IButtonControl, IPostBackEventHandler
{
public event EventHandler Click;
.........
}在你的代码里:
Button btn1 = new Button();
btn1.Click += new EventHandler(btn1_Click);明白?就是Button这个类在定义时,不知道你会给它的事件做什么操作,需要你自己添加
/// <summary>
/// IHaveAEvent 具有一个属性MyName,和一个事件OnChanged
/// 当MyName属性发生变化时,产生OnChanged事件
/// </summary>
public class IHaveAEvent
{
#region 事件
//这2句可以定义一个事件OnChanged
public delegate void Changed(string str);
public event Changed OnChanged; //这里定义了一个激活事件的私有方法
void ActiveOnChanged(string str)
{
if (OnChanged != null)
{
OnChanged(str);
}
}
#endregion #region 属性
string myname = "";
public string MyName
{
get
{
return myname;
}
set
{
if (myname != value)
{
myname = value;
//激活OnChanged事件
ActiveOnChanged(myname);
}
}
}
#endregion
} /// <summary>
/// MyClass 包含一个IHaveAEvent类。
/// 构造函数实例化了一个IHaveAEvent类型的对象ihe。
/// 并且实现了OnChanged事件的处理方法。
/// 公用方法SetName会激活ihe的OnChanged事件
/// </summary>
class MyClass
{
IHaveAEvent ihe = null; public MyClass()
{
ihe = new IHaveAEvent();
//声明OnChanged事件的处理方法名称
ihe.OnChanged += new IHaveAEvent.Changed(ihe_OnChanged);
} void ihe_OnChanged(string str)
{
//throw new Exception("The method or operation is not implemented.");
Debug.WriteLine("OnChanged事件: " + str);
} public void SetName(string str)
{
//为ihe的MyName属性赋值,
//如果str与ihe的MyName属性值不同,
//将激活ihe的OnChanged事件
ihe.MyName = str;
}
}
ihe.OnChanged += new IHaveAEvent.Changed(ihe_OnChanged);
这个吗, 把委托加到事件对象里???????
ihe.OnChanged += new IHaveAEvent.Changed(ihe_OnChanged);
为OnChanged事件附加一个处理函数,名称是ihe_OnChanged;下面是ihe_OnChanged的实现
void ihe_OnChanged(string str)
{
//throw new Exception("The method or operation is not implemented.");
//在调试输出窗口打印
Debug.WriteLine("OnChanged事件: " + str);
}