void stockMonitor_Policy_Remove(uc_StockMonitor ucs) { ucs.StockMonitor_ResultArrival -= stockMonitor_StockMonitor_ResultArrival; stockMonitors.Remove(ucs.Policy.PolicyGuid); this.panel_stockmonitor.Controls.Remove(ucs); ReDisplayControls(); stockCount = stockMonitors.Count; }
internal void AddStock(List <StockPolicies.RunningPolicy> policies) { for (int i = 0; i < policies.Count; i++) { //if(stockMonitors.ContainsKey(policies[i].StockCode)) //{ // //结束本次循环,进行下次循环 // continue; //} //使用uc_StockMonitor控件接收数据 RunningPolicy rp = policies[i]; rp.CanStart = true; uc_StockMonitor stockMonitor = new uc_StockMonitor(); stockMonitor.InitialStock(rp); stockMonitor.Width = panel_stockmonitor.Width; //设置控件的高度 stockMonitor.Height = 30; //设置控件上边缘与其容器的工作区上边缘之间的距离 stockMonitor.Top = stockCount * 30 - this.panel_stockmonitor.VerticalScroll.Value; stockMonitor.Width = panel_stockmonitor.Width - System.Windows.Forms.SystemInformation.VerticalScrollBarWidth * System.Convert.ToInt32(panel_stockmonitor.VerticalScroll.Visible); //设置控件左边缘与其容器的工作区左边缘之间的距离 stockMonitor.Left = 0; //添加 stockMonitors.Add(rp.PolicyGuid, stockMonitor); //数据填充到panel_stockmonitor中 panel_stockmonitor.Controls.Add(stockMonitor); stockMonitor.StockMonitor_ResultArrival += stockMonitor_StockMonitor_ResultArrival; stockMonitor.Policy_Remove += stockMonitor_Policy_Remove; stockCount = stockMonitors.Count; if (!rp.IsReal) { Simulator(rp.SecInfo, rp.StartDate, rp.EndDate, rp.PolicyDataReceiver, rp.Inteval); } else { } } }