.net 在类中的Event事件,为什么要定义为static?

来源:网络 责任编辑:栏目编辑 发表时间:2013-07-01 21:01 点击:

我有一个Form窗体和一个clsEvent类,
在Form窗体里面注册了事件。
在clsEvent类里面定义了委托+事件,最后也抛出了事件。但是为什么我在Form窗体里面缺获取不到该事件??

 

后来我修改了clsEvent类里面定义的Event事件为static静态了,Form窗体就可以获取到了?
 
clsEvent类 
public  class clsEvent 
    { 
        public  delegate void ShowSometing1(string strTxtbox); 
                                                                   
        public static event ShowSometing1 btnClick1;                                                                                    
       //如果是抛给Form窗体,一定要定义为静态类, 
       //Form窗体才能获取到该事件,为什么??         
       private string _strContent;         
       public string StrContent 
        { 
            get 
            {  
                return _strContent;  
            } 
            set  
            { 
                //当属性更改了,就触发事件 
                _strContent = value; 
                //在事件的发行者中触发事件。 
                if ( btnClick1  != null) 
                { 
                    btnClick1(_strContent); 
                } 
            } 
        } 
 
 
 Form1_Load 
//Form窗体向class类中注册事件 
clsEvent.btnClick1 += new clsEvent.ShowSometing1(TextBoxChange) 
view plain
private void button1_Click(object sender, EventArgs e) 

            clsEvent clsevent = new clsEvent(); 
            //改变属性,从而激发事件。 

    相关新闻>>

      发表评论
      请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
      用户名: 验证码:点击我更换图片
      最新评论 更多>>

      推荐热点

      • 浅析.NET下XML数据访问新机制
      • asp.net 面试+笔试题目第1/2页
      • C# 邮件地址是否合法的验证
      • asp.net 设置GridView的选中行的实现代码
      • C#高级编程:数据库连接[1]
      • 经典C++程序1
      • IIS 自动回收导致后台定时器失效的问题解决
      • ASP.NET GridView列表代码示例
      • Asp.net MVC源码分析--Action Filter的链式调用
      网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
      Copyright © 2008-2015 计算机技术学习交流网. 版权所有

      豫ICP备11007008号-1