zoukankan      html  css  js  c++  java
  • 委托和事件

    第一步 (C中)创建

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace FinancialMgr.UI
    {
        //定义一个委托
        public delegate void SelectChangeEventHandler(object sender, int selectIndex);
        public class SelectChangeEvent
        {
            //定义一个事件
            public event SelectChangeEventHandler AskSelectChangeEvent;
            //触发事件
            public void OnSelectChange(object sender, int selectIndex)
            {
                if (AskSelectChangeEvent != null)
                {
                    AskSelectChangeEvent(sender, selectIndex);
                }
            }
        }
    }

    第二步:(A中)声明、绑定

     //声明一个委托
            SelectChangeEvent FormSelectEvent = new SelectChangeEvent();
    //绑定
    FormSelectEvent.AskSelectChangeEvent += ChildFromSelected;

    第三步:(B中)触发 方法

    ChildFromSelected()
     FormSelectEvent.OnSelectChange(this, blockIndex)

     第三步:(A中)绑定的方法

      #region 事件:子窗体选中事件
            private Control selectedControl = null;
            private void ChildFromSelected(object sender, int blockIndex)
            {
                try
                {
                    selectedControl = (Control)sender;
                    foreach (var item in pnlBlock.Controls)
                    {
                        ((FrmBlock)item).IsSelected = false;
                    }
                    ((FrmBlock)selectedControl).IsSelected = true;
                }
                catch (Exception ex)
                {
                    this.ShowTopic("选中一条申请记录时出现错误,错误原因:" + ex.Message);
                }
            } 
            #endregion


    
    
    
  • 相关阅读:
    004 使用文本编辑器
    003 第一个Python程序
    002 Python解释器
    001 安装Python
    000 Python教程
    001 Java环境变量配置
    002 基础语法1
    003 基础语法2
    dede首页调用会员积分和头像代码
    DEDE 会员调用方法
  • 原文地址:https://www.cnblogs.com/mamaxiaoling/p/8250304.html
Copyright © 2011-2022 走看看