主要目的:需要在业务逻辑层调用UI的弹框提示信息
代码是在记事本中写的,没有运行调试过,不保证能直接使用,看下思路就好
//接口
publicinterface IShowData {void ShowMsg(string msg); } //UI层publicclass ShowUI:IShowData {publicvoid ShowMsg(string msg) {
//使用Invock调用方法,这样能让方法在UI线程中执行this.Invoke(new deleShowMsg(ShowMessageBox),msg); }
//定义委托,调用方式时使用publicdelegatevoid deleShowMsg(object msg);
//弹出窗体的方法publicvoid ShowMessageBox(object obj) { MessageBox.Show(obj.ToString()); }
//窗体加载事件publicvoid ShowUI_Load(object sender, EventArgs e) { ShowBLL bll=new ShowBLL();
//把自己注册到BLL里面 bll.SetShowMsg(this); } } //BLL业务逻辑层 publicclass ShowBLL { IShowData Ishow=null;publicvoid SetShowMsg(IShowData ishow) { Ishow= ishow; }
//在任意方法中调用publicvoid fun() { Ishow.ShowMsg("弹出显示信息"); } }