第一步 (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