赞
踩
1.创建窗体FrmEvent和FrmEventExpend,将FrmEventExpend添加的信息显示到FrmEvent窗体中
2.创建 ExpendNew类存储信息
public class ExpendNew
{
public string ItemName { get; set; }
public string Remark { get; set; }
public decimal Amount { get; set; }
}
3.声明事件,ExpendArgs用来表示需要传递的消息,必须继承EventArgs
public event EventHandler<ExpendArgs> ShowExpendInfoEvent;
public class ExpendArgs:EventArgs
{
public ExpendNew ExpendInfo { get; set; }
public ExpendArgs(ExpendNew info)
{
ExpendInfo = info;
}
}
private void btnExpend_Click(object sender, EventArgs e)
{
FrmEventExpend frm = new FrmEventExpend();
// frm.ShowExpendInfoEvent += Frm_ShowExpendInfoEvent;//事件的订阅
frm.ShowExpendInfoEvent += Frm_ShowExpendInfoEvent1;
frm.Show();
}
private void Frm_ShowExpendInfoEvent1(object sender, ExpendArgs e)
{
ExpendNew info = e.ExpendInfo;
lblExpendList.Text += info.ItemName + "," + info.Remark + "," + info.Amount + "\r\n";
}
5.当点击FrmEventExpend的支出记账的时候,需要事件响应
private void btnInRecord_Click(object sender, EventArgs e) { //信息接收 string itemName = txtItemName.Text; string remark = txtRemark.Text; decimal amount = decimal.Parse(txtAmount.Text); //封装 ExpendNew expend = new ExpendNew() { ItemName = itemName, Remark = remark, Amount = amount }; list.Add(expend); int length = list.Count; if(length-count==1) { //触发事件,调用事件 //ShowExpendInfoEvent?.Invoke(expend); //? 如果事件不为空则调用,否则不调用 ShowExpendInfoEvent?.Invoke(this, new ExpendArgs(expend)); count = length; } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。