写扭了,那是copy过来时弄乱的。
还漏了以下的定义:
public class BookEventArgs:System.EventArgs
{
public BookInformation book_info ;
}
public delegate void CallBack(object sender ,BookEventArgs e) ; 其实这些都不是主要的,我想问的是:在父窗体中定义了事件,当从这个父窗体派生子窗体时,编译器不认识继承的事件,即给人的感觉是事件是不能继承的。why???
错误信息如下:
D:\03.project\02.CSharp\new\Access_Book_information_revised\Form2.cs(187): 事件“Access_Book_information.Form1.PutOutInformation”只能出现在 += 或 -= 的左边(从类型“Access_Book_information.Form1”中使用时除外)
还漏了以下的定义:
public class BookEventArgs:System.EventArgs
{
public BookInformation book_info ;
}
public delegate void CallBack(object sender ,BookEventArgs e) ; 其实这些都不是主要的,我想问的是:在父窗体中定义了事件,当从这个父窗体派生子窗体时,编译器不认识继承的事件,即给人的感觉是事件是不能继承的。why???
错误信息如下:
D:\03.project\02.CSharp\new\Access_Book_information_revised\Form2.cs(187): 事件“Access_Book_information.Form1.PutOutInformation”只能出现在 += 或 -= 的左边(从类型“Access_Book_information.Form1”中使用时除外)
解决方案 »
- 我想写个获取pr值的工具,google提供pr值获取接口吗?
- 非静态的字段、方法或属性“WindowsFormsApplication1.DataOperate.getCom(string)”要求对象引用
- gridcontrol中添加combobox控件
- c/s,客户端winform2.0,服务端wcf,一个疑问?
- 正则表达式,谁给我解释一下\" 是什么??
- 大哥们帮帮忙!C#中 弹个消息框(要加声音)
- 请问大家是如何利用UML图辅助开发系统的?
- 请教trim的问题
- 添加Interop.WMPLib.dll强命名报错
- C#+ASP.NET 写的程序中,要打开一个Word文件,然后在word文件的某个位置插入一张图片(签名),怎么做?
- Hashtable 可以排序吗?
- 字符串处理问题!
因为 event != delegate.1. 如果将申明时间的关键字event替换成delegate,可以这样写:
触发事件:
PutOutInformation(this,myEventArgs);
附加事件,因为没有事件的管理器,不能+=
obj.PutOutInformation = new Callback(func);
2. 用标准的事件书写规范
在基类中定义一个出发事件的触发方法:
protected virtual void OnPutoutInformation(EventArgs/*你事件的实际参数类型 */ e)
{
if (PutoutInformation != null)
PutoutInformation(this, e);
}
在派生类中调用这个触发方法来触发事件:
.....
OnPutoutInformation(EventArgs.Empty);
.....