public FrmMain() { InitializeComponent(); prices = new double[0]; volumes = new double[0]; orderTypes = new String[0]; panel1.Paint += new PaintEventHandler(panel1_Paint); panel2.Paint += new PaintEventHandler(panel2_Paint); FrmConnect connectFrm = new FrmConnect(this); connectFrm.Show(); }
private void button1_Click(object sender, EventArgs e) { listenerSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); listenerSocket.Bind(new IPEndPoint(IPAddress.Parse("0.0.0.0"), (int)numericUpDown1.Value)); listenerSocket.Listen(1); FrmConnect threadClose = this; Thread t = new Thread(() => { if (label2.InvokeRequired) { label2.BeginInvoke((MethodInvoker) delegate { label2.Text = "Status: Listening @ " + ((int)numericUpDown1.Value).ToString() + "..."; }); } else { label2.Text = "Status: Listening @ " + ((int)numericUpDown1.Value).ToString() + "..."; } bridgeSocket = listenerSocket.Accept(); MessageBox.Show("MetaTrader 5 Connected!"); this.callback.setBridgeSocket(bridgeSocket); if (this.callback.InvokeRequired) { this.callback.BeginInvoke((MethodInvoker) delegate { this.callback.Show(); }); } else { this.callback.Show(); } if (threadClose.InvokeRequired) { threadClose.BeginInvoke((MethodInvoker) delegate { threadClose.Hide(); }); } else { threadClose.Hide(); } }); t.Start(); }