100分求教,事件是否一定得由方法引发?刚才发的那个分数太少了。呵呵...
.Net Framework文档上说的是:
事件功能是由三个互相联系的元素提供的:提供事件数据的类、事件委托和引发事件的类。.NET Framework 具有命名与事件相关的类和方法的约定。如果想要您的类引发一个名为 EventName 的事件,您需要以下元素。
持有事件数据的类,名为 EventNameEventArgs。该类必须从 System.EventArgs 导出。
事件的委托,名为 EventNameEventHandler。
引发事件的类。该类必须提供:
事件声明。
[C#]
public event EventNameEventHandler EventName;
[Visual Basic]
Public Event EventName As EventNameEventHandler
引发事件的方法,名为 OnEventName。
于是按照这个步骤我写了个事件。为简单点,没有事件数据。源代码如下:
using System;
namespace ConsoleApplication1
{
/// <summary>
/// Class1 的摘要说明。
/// </summary>
///
public delegate void MyEventEventHandler(object source);
public class MyEventClass
{
public event MyEventEventHandler MyEvent;
public void OnMyEvent()
{
if(MyEvent != null)
MyEvent(this);
}
}
class Class1
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main(string[] args)
{
//
// TODO: 在此处添加代码以启动应用程序
//
MyEventClass c = new MyEventClass();
c.MyEvent +=new MyEventEventHandler(c_MyEvent);
c.OnMyEvent();
}
private static void c_MyEvent(object source)
{
Console.WriteLine("成功引发事件!");
}
}
}
运行没问题。
成功引发了事件。
但有一个问题不明白,就是
事件是否一定得由方法引发?
如果将程序中 c.OnMyEvent(); 这一行去掉则不能引发事件。
但我看WINDOWS应用程序中,添加一个 Button,双击之,自动添加了一个Click事件,且未用任何方法来引发。运行也没问题。
所以请教各位老大。
事件功能是由三个互相联系的元素提供的:提供事件数据的类、事件委托和引发事件的类。.NET Framework 具有命名与事件相关的类和方法的约定。如果想要您的类引发一个名为 EventName 的事件,您需要以下元素。
持有事件数据的类,名为 EventNameEventArgs。该类必须从 System.EventArgs 导出。
事件的委托,名为 EventNameEventHandler。
引发事件的类。该类必须提供:
事件声明。
[C#]
public event EventNameEventHandler EventName;
[Visual Basic]
Public Event EventName As EventNameEventHandler
引发事件的方法,名为 OnEventName。
于是按照这个步骤我写了个事件。为简单点,没有事件数据。源代码如下:
using System;
namespace ConsoleApplication1
{
/// <summary>
/// Class1 的摘要说明。
/// </summary>
///
public delegate void MyEventEventHandler(object source);
public class MyEventClass
{
public event MyEventEventHandler MyEvent;
public void OnMyEvent()
{
if(MyEvent != null)
MyEvent(this);
}
}
class Class1
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main(string[] args)
{
//
// TODO: 在此处添加代码以启动应用程序
//
MyEventClass c = new MyEventClass();
c.MyEvent +=new MyEventEventHandler(c_MyEvent);
c.OnMyEvent();
}
private static void c_MyEvent(object source)
{
Console.WriteLine("成功引发事件!");
}
}
}
运行没问题。
成功引发了事件。
但有一个问题不明白,就是
事件是否一定得由方法引发?
如果将程序中 c.OnMyEvent(); 这一行去掉则不能引发事件。
但我看WINDOWS应用程序中,添加一个 Button,双击之,自动添加了一个Click事件,且未用任何方法来引发。运行也没问题。
所以请教各位老大。
...全文
相关推荐
输入0—100的百分制分数时,程序会显示相对应的五分制分数。
这个场景中提到的知识点是“分数转换”,具体来说,是从0到100的百分制分数转换为5分制分数。这样的转换在教育评分系统、数据分析或者用户界面设计中都有广泛应用。
XTTS基于rman全量迁移Oracle
XTTS基于rman全量迁移Oracle
内存自BUFF单元开始的存储区连续存放100个学生的某课成绩分数,编制程序统计100,90—99,80—89,70—79,60—69和59分以下等分数段的人数,并把结果连续存放在RESULT开始的单元。
这是一份汇编语言实验报告,主要内容是使用循环结构编程统计100个学生的某课成绩分数,分为100分、90-99分、80-89分、70-79分、60-69分和59分以下六个分数段,并将结果连续存放在RESULT
Python 输入一个数字判断成绩分数等级的方法
通常,我们可以按照以下标准将成绩分为五个等级:- A等级:90-100分- B等级:80-90分- C等级:70-80分- D等级:60-70分- E或F等级:60分以下在Python中,我们可以利用条件语句
cs代码-一个游戏,前20关是每一关自身的分数,1-30关每一关是10分,31-40关,每一关是20分,1-49关,每一关是30分,第50关是100分,输入你现在闯到的关卡数,求你现在拥有的分数。
从第21关到第30关,每过一关得分为10分。3. 从第31关到第40关,每过一关得分为20分。4. 从第41关到第49关,每过一关得分为30分。5. 第50关,玩家获得100分。


