首先说一下场景:
我有个任务调度的Job类,还有个窗体,我的任务执行的时候,需要去窗体那边弹个框提示下,并且窗体和任务调度同时打开的。
分析一下:
弹框的动作可以封装一个方法,并且是窗体来完成的。
那么,我可以把委托写在窗体的代码里面。
最终,我任务调度类只需要来调用一下就行。
public partial class FrmMain : Form
{
public delegate void ShowTips(string num);//创建委托
public static ShowTips tips;//声明事件
public FrmMain()
{
InitializeComponent();
tips+= ShowInfo;//给事件绑定执行的真实事件
}
/// <summary>
/// Does the tips.
/// </summary>
/// <param name="num">The number.</param>
/// <param name="color">The color.</param>
public static void DoTips(string num)
{
Tips(num);
}
/// <summary>
///弹框
/// </summary>
/// <param name="num">The number.</param>
public void ShowInfo(string num)
{
MessageBox.Show("传值为"+num);
}
}最后在我的任务调度类中,进行调用
FrmMain.tips("1111");代码实现了解耦,调度类中不需要知道具体方法是哪个,长啥样,都不需要关心
川公网安备 51010702003150号
留下您的脚步
最近评论