コード例 #1
0
        //第一种触发事件的方法
        private void CauseEvent1()
        {
            if (timecounter == 6)                                                     //计时器到6秒时,触发字定义的事件
            {
                MyCheckInput         mycheck = new MyCheckInput("她不想上课", "她一个劲儿地发呆"); //事件参数类实例化
                CheckEventOccurDealt mydealt = new CheckEventOccurDealt();            //自定义事件实例化
                mydealt.MakeItOccur(mycheck);                                         //调用自定义事件对象的触发方法,参数为事件参数对象。
                //注意,这里只是调用了自定义事件对象的触发方法,并没有直接调用【与事件关联的】指代方法

                //根据事件的两个参数分别更新窗体的两个字符串域,这两个域的值决定了要不要画图
                s1 = mydealt.cause;
                s2 = mydealt.result;

                //刷新窗体绘图区域
                Invalidate();
            }

            if (timecounter == 12)  //计时器到12秒时,停止计时器,并更新两个字符串域【s1,s2】的值为空
            {
                timer1.Stop();      //停止定时器
                timecounter = -1;   //更新域值
                s1          = "";   //更新域值
                s2          = "";   //更新域值
                Invalidate();       //刷新窗体绘图区域
            }
        }
コード例 #2
0
        //第二种触发事件的方法
        private void CauseEvent2()
        {
            CheckEventOccurDealt mydealt = new CheckEventOccurDealt();      //自定义事件实例化
            MyCheckInput         mycheck = new MyCheckInput("", "");        //事件参数类实例化;

            if (timecounter == 6)
            {
                mycheck.position = "她不想上课";
                mycheck.result   = "她一个劲儿地发呆";
            }
            mydealt.MakeItOccur(mycheck);               //调用自定义事件对象的触发方法,参数为事件参数对象。
            //注意,这里只是调用了自定义事件对象的触发方法,并没有直接调用【与事件关联的】指代方法

            //根据事件的两个参数分别更新窗体的两个字符串域,这两个域的值决定了要不要画图
            s1 = mydealt.cause;
            s2 = mydealt.result;
            Invalidate();       //刷新窗体绘图区域

            if (timecounter == 12)
            {
                timer1.Stop();       //停止定时器
                timecounter = -1;    //更新域值
            }
        }