Web用户空件的事件怎么写???(C#)-散分

Eddie005 2004-08-04 08:45:12
vb.net 有RaiseEvent,C#呢???
...全文
169 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
goodluck001 2004-08-04
  • 打赏
  • 举报
回复
如此简单的问题怎么搞得这么复杂!

假如你的UserControl 类型叫 UC。

首先定义delegate:

public delegate ReturnType DelegateName(ParamType parameter1...);

然后定义事件:

public event DelegateName EventName;


现在把这个UC到某个页面实例化,对象名称为uc1.

那么现在就可以在页面的Page_Load 或者OnInit 事件函数里面把这个自定义事件实例化。
比如:
uc1.EventName+=new UC.DelegateName(DelegateFunction);
注意这里的DelegateFunction即为页面下的某个函数,改函数的参数和返回类型应该和UC.Delegate的参数和返回类型一致。

然后就万事大吉了。
iiboy 2004-08-04
  • 打赏
  • 举报
回复
學習中...
liuwei6102 2004-08-04
  • 打赏
  • 举报
回复
看看也值得
walkinhill 2004-08-04
  • 打赏
  • 举报
回复
在VB里面可以非常方便的定义和调用事件,比如说:

定义:Public Event MyEvent(Byval name as String)
调用:RaiseEvent MyEvent("abc")

在C#里面使用委托(delegate)来实现事件:

1)先定义事件处理函数的原型,即委托
public delegate void MyEvent(string name);

2)定义委托变量
public event MyEvent myEvent;

3) 触发事件:
首先判断委托变量是否为null,不为空,则调用事件处理函数
if( myEvent != null ){
myEvent("abc");
}
softchao 2004-08-04
  • 打赏
  • 举报
回复
具体问题具体解决
问题太大了
bitsbird 2004-08-04
  • 打赏
  • 举报
回复
event 关键字使您得以指定当代码中的某些“事件”发生时调用的委托。此委托可以有一个或多个关联的方法,当代码指示该事件已发生时将调用关联的方法。可使一个程序中的事件用于面向 .NET Framework 公共语言运行库的其他程序。

为了创建并使用 C# 事件,必须采取以下步骤:

创建或标识一个委托。如果正在定义自己的事件,还必须确保有与事件关键字一起使用的委托。如果已经预定义了事件(例如在 .NET Framework 中),则事件的使用者只需要知道委托的名称。
创建一个类,包含:
从委托创建的事件。
(可选)验证用 event 关键字声明的委托实例是否存在的方法。否则,该逻辑必须放置在引发此事件的代码中。
调用此事件的方法。这些方法可以重写一些基类功能。
此类定义事件。

定义一个或多个将方法连接到事件的类。所有这些类都包括:
使用 += 运算符和 -= 运算符将一个或多个方法与基类中的事件关联。
将与事件关联的方法的定义。
使用此事件:
创建包含事件声明的类对象。
使用定义的构造函数,创建包含事件定义的类对象。
该示例显示可以在接口中声明一个事件并在类中实现它。
// event_keyword.cs
using System;
public delegate void MyDelegate(); // delegate declaration

public interface I
{
event MyDelegate MyEvent;
void FireAway();
}

public class MyClass: I
{
public event MyDelegate MyEvent;

public void FireAway()
{
if (MyEvent != null)
MyEvent();
}
}

public class MainClass
{
static private void f()
{
Console.WriteLine("This is called when the event fires.");
}

static public void Main ()
{
I i = new MyClass();

i.MyEvent += new MyDelegate(f);
i.FireAway();
}
}
Nicholasqpl 2004-08-04
  • 打赏
  • 举报
回复
private static readonly object OnChangeEvent = new object();

public event EventHandler OnChange
{
add
{
Events.AddHandler(OnChangeEvent ,value);
}
remove
{
Events.RemoveHandler(OnChangeEvent ,value);
}
}

protected virtual void OnChangeEvent (EventArgs e)
{
EventHandler handler = (EventHandler)Events[OnChangeEvent];
if(handler != null)
handler(this,e);
}
triout 2004-08-04
  • 打赏
  • 举报
回复
可以给分了吧?

呵呵,几天忙,没有来,都饿晕了。
triout 2004-08-04
  • 打赏
  • 举报
回复
在C#里面,你要进行判断:

比如你有一个事件:

DataChanged

代理调用参数为:

(object sender,System.EventArgs e);

那么在函数:

OnDataChanged(System.EventArgs e)中:

if(DataChanged!=null)
DataChanged(this,e)


这里要注意的就是首先要判断当前的事件是否为空(null),如果不为空则执行事件。
Eddie005 2004-08-04
  • 打赏
  • 举报
回复
详细点,散分的说~~
lzyang 2004-08-04
  • 打赏
  • 举报
回复
delegate
*** 注:由于该文件大于60MB,所以得分两个文件上传,敬请谅解!*** 基本信息 作 者:(美)威利斯,(美)纽萨姆 著,吴伟敏,李周芳 译 •出 版 社:清华大学出版社 •定价:78 •版 次:1 页 数:573 字 数:993000 •印刷时间:2011-11-1 开 本:16开 纸 张:胶版纸 •印 次:1 I S B N:9787302270058 包 装:平装 内容简介:   Visual Basic 2010是微软公司较为流行的VB.NET编程语言的最新版本,是Visual Studio 2010环境支持的几种语言之一。Visual Basic 2010的优势在于其易用性和高速度,利用该语言可以轻松、快捷地编出Windows Forms应用程序、WPF Windows应用程序、Web应用程序、WPF Browser应用程序、移动设备应用程序和Web服务。   本书将全面介绍Visual Basic 2010的各种编程知识,展示如何创建上述应用程序和服务。同时,您也可以学习面向对象的编程技术,掌握创建业务对象和Windows控件的方法。   微软的.NET Framework使Visual Basic 2010程序员能像C#或C++程序员一样创建完全面向对象的各种程序。.NET Framework提供了一套通用的基类,Visual Studio 2010中的所有编程语言都可以使用它们,这样一来,程序员在创建面向对象的程序方面就拥有与C#或C++一样的功能了。   本书将使您在Visual Basic 2010编程方面打下坚实的基础,并给您带来编程的无限乐趣。   0.1 本书读者对象   本书的目的是教您如何尽可能快捷地运用Visual Basic 2010编有用的程序。   本书适合于以下两类初学者:   ·一类是编程的初学者,他们选择从Visual Basic 2010开始学起。这是个很好的选择!Visual Basic 2010不但易学易用,而且功能强大。   ·另一类是曾用其他语言进行编程,但初次接触.NET编程知识的人员。这类初学者现在选择学习Visual Basic 2010是一个不错的主意。不管您熟悉的语言是Fortran还是VB 6,本书都将帮助您迅速掌握Visual Basic 2010。   0.2 本书主要内容   Visual Basic 2010提供了工具和语言方面的大量功能。当然,一本书不可能包含Visual Basic 2010的所有内容,这些内容要用一个书库来容纳。本书的目的是让您尽快入门,它相当于一个路标,可以指导您的学习。在介绍创建应用程序的基础知识(如创建窗口和控件,如何用代码处理突发事件,什么是面向对象的程序设计以及如何在应用程序中使用它,等等)之余,本书还为您提供了亲自动手的机会。本书的组织结构如下:  目录 第1章 初识visual basic 2010 1.1 事件驱动编程 1.2 安装visual basic 2010 1.3 visual basic 2010集成开发环境 1.4 创建简单的应用程序 1.5 使用帮助系统 1.6 小结 1.7 练习 第2章 .net framework概述 2.1 微软的信心来自于windows 2.2 为windows编软件 2.3 公共语言运行时 2.4 通用类型系统和公共语言规范 2.5 小结 第3章 编软件 第1章 初识visual basic 2010 1.1 事件驱动编程 1.2 安装visual basic 2010 1.3 visual basic 2010集成开发环境 1.4 创建简单的应用程序 1.5 使用帮助系统 1.6 小结 1.7 练习 第2章 .net framework概述 2.1 微软的信心来自于windows 2.2 为windows编软件 2.3 公共语言运行时 2.4 通用类型系统和公共语言规范 2.5 小结 第3章 编软件 3.1 信息和数据 3.2 变量 3.3 注释和空白 3.4 数据类型 3.5 存储变量 3.6 方法 3.7 小结 3.8 练习 第4章 流程控制 4.1 作出决策 4.2 if语句 4.3 select case语句 4.4 循环 4.5 小结 4.6 练习 第5章 处理数据结构 5.1 数组 5.2 枚举 5.3 常量 5.4 结构 5.5 数组列表 5.6 集合 5.7 使用散列表创建查询表 5.8 高级数组操作 5.9 小结 5.10 练习 第6章 可扩展应用程序标记语言(xaml) 第7章 构建windows应用程序 第8章 显示对话框 第9章 创建菜单 第10章 调试和错误处理 第11章 构建对象 第12章 面向对象的高级技术 第13章 建立类库 第14章 创建windows窗体用户控件 第15章 访问数据库 第16章 使用sql server和ado.net进行数据库编程 第17章 动态数据网站 第18章 asp.net 第19章 visual basic 2010和xml 第20章 部署应用程序 附录a 练习题答案 附录b 如何深入学习

62,244

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧