更新后的MoreEffectiveKey

    计算机读到了大二,本以为会有专业课了,结果这学期开始学焊电路,我昏……以前单片机接线怎么说也是汇编的学习,现在整一个电焊工了,整个学期连一门编程课都没有!
我校学过和计算机无关的课程:
    1.电工
    2.车工
    3.钳工
    4.数控(总觉得和机械有关,计算机么……)
    5.机械制图
    6.……以后再说
--------
    废话就到这儿,先说第一个, 委托事件
    这是是用于当设置界面中按下确定键后对主界面的按钮进行刷新。以前版本中是用application.restart()采取刷新的,-_-||
    现有两个窗体,form_main和form_setting,先定义一个静态类为Refreshform,在中间类中我们使用如下代码:
      static   class  RefreshFormClass
    
{
        
public delegate void RefreshBottoms();//定义托管
        public static event  RefreshBottoms RefreshBTNs;//定义一个事件事件
        public static void SendRefreshBottom()//定义一个RefreshBottoms委托类型的静态RefreshBTNs对象
        {
            RefreshBTNs();
//对象的具体方法
        }

    }
    接下来在Form_Setting中的BTN_Ok按钮中我们就要发出这个事件:
         private   void  BTN_OK_Click( object  sender, EventArgs e)
        
{
            RefreshFormClass.SendRefreshBottom();
//发出委托事件
            this.Close();//关闭setting窗口
            this.Dispose();//释放资源,因为具体实现中会保存配置文件,所以这里释放对配置文件的占用
        }
    有人发出事件就要有人接收,所以我们要在Form_main的Form_Load事件中添加代码:
         private   void  Form_Main_Load( object  sender, EventArgs e)
        
{
            RefreshFormClass.RefreshBTNs
+=new RefreshFormClass.RefreshBottoms(this.RefreshBottoms);//让Form_Main接收RefreshFormClass.RefreshBTNs型事件,括号中的this.RefreshBottoms,指的是接收到事件后会执行的方法
        }

        
private   void  RefreshBottoms() // 接收到事件后执行这个方法
         {
            MessageBox.Show(
"现在会刷新所有按键");
        }
    这样第一部分的委托事件就完成了,今天就写到这儿……每天写一点~学校不开编程课只能靠自己了,记住李开复先生的话,大学期间要完成10W行代码!

你可能感兴趣的:(effective)