private void buttonAddConnection_Click(object sender, EventArgs e) { if (Core.Instance().Connections.Count >= 100) { MessageBox.Show("100 Connections should be enough for everyone ;)"); } else { while (true) { AddConnectionForm form = new AddConnectionForm(); ConnectionType ct = ConnectionType.SOCKS; DialogResult result = form.ShowDialog(this); if (result == DialogResult.Cancel || result == DialogResult.Abort) { break; } if (result == DialogResult.OK) { if (form.ConnectionName.Trim() == "") { MessageBox.Show("Enter a valid Name"); continue; } try { int test = Int32.Parse(form.Localport.ToString()); if (test < 1 || test > 65535) { MessageBox.Show("Enter a valid local port between 1 and 65535"); continue; } }catch(Exception){ MessageBox.Show("Enter a valid local port between 1 and 65535"); continue; } if (form.ct.ToString() == ConnectionType.HTTP.ToString()) { ct = ConnectionType.HTTP; } else { if (form.ct.ToString() == ConnectionType.SOCKS.ToString()) { ct = ConnectionType.SOCKS; } else { if (form.ct.ToString() == ConnectionType.FORWARDING.ToString()) { ct = ConnectionType.FORWARDING; if (form.Remotehost.Trim() == "") { MessageBox.Show("Enter a valid hostname or IP"); continue; } try { int test = Int32.Parse(form.Remoteport.ToString()); if (test < 1 || test > 65535) { MessageBox.Show("Enter a valid remote port between 1 and 65535"); continue; } } catch (Exception) { MessageBox.Show("Enter a valid remote port between 1 and 65535"); continue; } } else { ct = ConnectionType.SOCKS; } } } string rh = form.Remotehost; int rp = form.Remoteport; if (ct.ToString() != ConnectionType.FORWARDING.ToString()) { rh = ""; rp = 0; } Connection tmpconnection = new Connection(form.ConnectionName, form.Hostname, form.Port, form.Localport, ct, rh, rp); tmpconnection.Serialize(); Core.Instance().Refresh(); this.UpdateConnections(); break; } } } this.UpdateConnections(); }