private void FillPanelChain(OptionChain dateChain) { panelChain.Controls.Clear(); if (dateChain.Options.Count > 0) { for (int i = 0; i < _strikes.Length; i++) { OptionChainDataPoint call = dateChain.FindOption(Options.OptionType.Call, _experation, _strikes[i]); OptionChainDataPoint put = dateChain.FindOption(Options.OptionType.Put, _experation, _strikes[i]); OptionChainStrikeLine line = new OptionChainStrikeLine(call, put); line.Location = new Point(0, 32 * i); line.CallClicked += new MouseEventHandler(FireCallClickEvent); line.PutClicked += new MouseEventHandler(FirePutClickEvent); line.CallDoubleClicked += new MouseEventHandler(FireCallDoubleClickEvent); line.PutDoubleClicked += new MouseEventHandler(FirePutDoubleClickEvent); line.CallEntered += new EventHandler(FireCallEnteredEvent); line.PutEntered += new EventHandler(FirePutEnteredEvent); line.CallMouseUp += new MouseEventHandler(FireCallMouseUpEvent); line.PutMouseUp += new MouseEventHandler(FirePutMouseUpEvent); line.CallMouseMove += new MouseEventHandler(FireCallMouseMoveEvent); line.PutMouseMove += new MouseEventHandler(FirePutMouseMoveEvent); panelChain.Controls.Add(line); } } }
private void FirePutMouseMoveEvent(object sender, MouseEventArgs e) { OptionChainStrikeLine line = (OptionChainStrikeLine)sender; MouseMoved?.Invoke(_experation, line.Strike, OptionType.Put, line.PutType, e); }
private void FirePutEnteredEvent(object sender, EventArgs e) { OptionChainStrikeLine line = (OptionChainStrikeLine)sender; Entered?.Invoke(_experation, line.Strike, OptionType.Put, line.PutType, new MouseEventArgs(MouseButtons.None, 0, 0, 0, 0)); }
private void FireCallMouseUpEvent(object sender, MouseEventArgs e) { OptionChainStrikeLine line = (OptionChainStrikeLine)sender; MouseButtonUp?.Invoke(_experation, line.Strike, OptionType.Call, line.CallType, e); }
private void FireCallDoubleClickEvent(object sender, MouseEventArgs e) { OptionChainStrikeLine line = (OptionChainStrikeLine)sender; DoubleClicked?.Invoke(_experation, line.Strike, OptionType.Call, line.CallType, e); }