餐饮管理系统中事件的使用
来源:互联网 发布:数据库备份与灾难恢复 编辑:程序博客网 时间:2024/05/01 02:55
以增加和修改商品种类为例:
1、CategoryEventArgs.cs中
public class CategoryEventArgs:EventArgs { public Model.CategoryInfo NewCategoryInfo { get; set; } }
2、CategoryHandler.cs
public delegate bool CategoryHandler(object sender, CategoryEventArgs e);
3、FrmCategoryInfoHandler.cs
public partial class FrmCategoryInfoHandler : Form { Model.CategoryInfo oldCategoryInfo; public event CategoryHandler Handler; public string BtnClick { get { return btnOK.Text; } set { btnOK.Text = value; } } public CategoryInfo OldCategoryInfo { get { return oldCategoryInfo; } } //增加操作调用此构造函数 public FrmCategoryInfoHandler() { InitializeComponent(); } public FrmCategoryInfoHandler(Model.CategoryInfo old):this() { //初始化,修改操作调用此构造函数 oldCategoryInfo = old; txtCatName.Text = old.Catname; txtCatNum.Text = old.Catnum; txtRemark.Text = old.Remark; } private void btnOK_Click(object sender, EventArgs e) { string catName = txtCatName.Text.Trim(); string catNum = txtCatNum.Text.Trim(); string catRemark = txtRemark.Text.Trim(); Model.CategoryInfo categoryInfo = new Model.CategoryInfo(); categoryInfo.Catname = catName; categoryInfo.Catnum = catNum; categoryInfo.Remark = catRemark; //默认值 categoryInfo.Subby = 1; categoryInfo.Subtime = DateTime.Now; categoryInfo.Delflag = 0; //调用事件方法 CategoryEventArgs mye = new CategoryEventArgs(); mye.NewCategoryInfo = categoryInfo; if (Handler!=null) { if (Handler(this, mye)) { this.DialogResult = DialogResult.OK; } } } }
4、对以上代码的使用:
在点击添加商品类中:
using (FrmCategoryInfoHandler frmHandler = new FrmCategoryInfoHandler()) { frmHandler.BtnClick = "添加"; frmHandler.Handler += FrmHandler_Handler; if (frmHandler.ShowDialog() == DialogResult.OK) { LoadDataCategory(); } }
private bool FrmHandler_Handler(object sender, CategoryEventArgs e) { return categoryInfoBLL.InsertData(e.NewCategoryInfo); }
点击修改:
if (dgViewCategory.SelectedRows.Count == 0) { return; } Model.CategoryInfo old = dgViewCategory.SelectedRows[0].DataBoundItem as Model.CategoryInfo; using (FrmCategoryInfoHandler frmCatoryHandler = new FrmCategoryInfoHandler(old)) { frmCatoryHandler.BtnClick = "修改"; frmCatoryHandler.CatName = old.Catname; frmCatoryHandler.CatNum = old.Catname; frmCatoryHandler.Remark = old.Remark; frmCatoryHandler.Handler += FrmCatoryHandler_Handler; if (frmCatoryHandler.ShowDialog() == DialogResult.OK) { LoadDataCategory(); } }
private bool FrmCatoryHandler_Handler(object sender, CategoryEventArgs e) { Model.CategoryInfo old = (sender as FrmCategoryInfoHandler).OldCategoryInfo; Model.CategoryInfo news = e.NewCategoryInfo; news = MyCompare(old, news); if (news != null) { return categoryInfoBLL.Update(news); } else { return false; } }
private CategoryInfo MyCompare(CategoryInfo old, CategoryInfo news) { news.Catid = old.Catid; int count=0; if (old.Catname==news.Catname) { count++; news.Catname = null; } if (old.Catnum==news.Catnum) { count++; news.Catnum = null; } if (old.Remark==news.Remark) { count++; news.Remark = null; } return count == 3 ? null : news; }
0 0
- 餐饮管理系统中事件的使用
- C#开发的餐饮管理系统总结
- 金石餐饮管理系统 官网
- 美食管家餐饮管理系统
- java版餐饮管理系统
- 餐饮管理系统思想总结
- 餐饮管理系统 VC MFC
- 求CHIS餐饮管理系统的序列号码!!!!
- 求CHIS餐饮管理系统的序列号码!!!!
- 中国餐饮管理系统的缺陷 针针见血
- 星火餐饮管理系统 v1.0 官网
- 一帆风顺餐饮管理系统 v3.01 官网
- 宏图酒店餐饮管理系统 怎么用
- 教之初餐饮管理系统 绿色
- 小金宇酒店客房餐饮管理系统 下载
- 天韵餐饮管理系统/软件
- DonNet餐饮管理系统(源码发布)
- 智谷电无线餐饮管理系统方案
- 增加samba用户提示Failed to add entry for user
- 创建对象的几种模式
- 解决 – java.lang.OutOfMemoryError: unable to create new native thread
- java 日期格式化
- 【HTML】-案例-利用表格制作网页
- 餐饮管理系统中事件的使用
- SQLAlchemy操作MariaDB笔记之四
- System.exit(0)和System.exit(1)区别
- Notepad++使用
- 《php和mysql web开发》笔记——第3章 使用数组
- div可输入,单词溢出或超出文字换行
- 我的Makefile
- 自定义身份验证Soap头 进行加密解密
- 程序平台系统开发修复