我有一个通过事件机制收集股票报价的 API (dll)。比如下图:
...
using MT4API;
public partial class Blue : Form
{
...
public Blue()
{
...
string symbol = "GBPUSD";
MT4DDE dde = new MT4DDE("");
dde.OnQuote += new System.EventHandler<QuoteEventArgs>(MT_OnQuote);
dde.Connect();
dde.Subscribe(symbol);
....
这个想法是在每个图表刻度上我都会得到一个事件。这是事件处理程序代码:
private static void MT_OnQuote(object sender, QuoteEventArgs args)
{
GlobalClass.Ask = args.Ask;
GlobalClass.Bid = args.Bid;
// I have back ground worker code that updatestables from the global class
}
这一切都很好。只要我不触摸表单 UI 上的任何其他按钮。一旦我单击 UI 表单上的按钮...我不再从我的 API 接收事件,UI 应用程序正常运行,但没有来自 API 的数据。
为什么来自 UI 的事件会阻止来自 API 事件的任何进一步事件?
知道这里发生了什么吗?或者建议如何设计这个?