欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

SMS Cat 软件实施(C#) SMS Cat(简化测试版)实施

最编程 2024-05-07 16:00:32
...

这一部分比较麻烦,使用委托,回调函数 还有事件 有关详细信息参考MSDN。

 1:   
 2:  //委托 收到短信的回调函数委托
 3:   delegate void UpdataDelegate();         //可以有参数,本处不需要
 4:   UpdataDelegate UpdateHandle = null;
 5:   
 6:  private void Form1_Load(object sender, EventArgs e)
 7:  {......
 8:      gm.OnRecieved += new GSMModem.OnRecievedHandler(gm_OnRecieved);
 9:   
10:      UpdateHandle = new UpdataDelegate(UpdateLabel8);        //实例化委托
11:   
12:   }
13:   

 gm.OnRecieved += new GSMModem.OnRecievedHandler(gm_OnRecieved);句添加事件绑定,收到短信后将自动运行gm_OnRecieved函数

1:  void gm_OnRecieved(object sender, EventArgs e)
2:  {
3:      Invoke(UpdateHandle, null);
4:  }

函数内只有一句话:调用回调函数句柄UpdateHandle指向的函数
UpdateHandle = new UpdataDelegate(UpdateLabel8); //实例化委托
表明要调用的函数名为UpdateLabel8

1:  void UpdateLabel8()
2:  {
3:      label8.Text = "有新消息";
4:      label8.ForeColor = Color.Green;
5:  }

函数体内更改控件Text属性,提示用户有新消息到来,此处亦可直接读取短信内容
读新消息:

1:  gm.ReadMsgByIndex(gm.NewMsgIndex, out msgCenter, out phone, out msg, out time);

调用序号读取短信方法:只不过序号由属性NewMsgIndex提供